Czy istnieje skrót do / cygdrive /

4

Czy istnieje skrót do wpisywania / cygdrive / dla każdej ścieżki? Czy można na przykład alias / cygdrive / do / cd /?

Altoid Muncher
źródło
Robi ln -s cygdrive /cd nie działa?
grawity

Odpowiedzi:

6

Możesz użyć: mount --change-cygdrive-prefix

Na przykład : mount --change-cygdrive-prefix / i cd /c/ zmieni katalog roboczy na /cygdrive/c/.

W celu trwałej zmiany (bez zmiany sesji) należy zmienić rejestr systemu Windows.

Franck Lefort
źródło
2
Nie ma potrzeby edytowania rejestru. W wersjach Cygwina przed 1.7 zmiana prefiksu poleceniem mount automatycznie stała się trwała poprzez aktualizację odpowiedniego wpisu rejestru. W Cygwin 1.7 punkty montowania nie są już przechowywane w rejestrze, ale są odczytywane /etc/fstab. Zobacz instrukcja obsługi dla formatu tego.
ak2
Jest to poprawne rozwiązanie, obsługiwane przez Cygwina, jako podręcznik dla Cygwina uchwyt pokazuje polecenia.
Andrew Schulman
Właśnie dodałem to do mojego .bashrc i działa świetnie, dzięki!
Mark Ransom
Jeśli umieściłem to rozwiązanie w moim .bashrc albo .bash_profile albo jeden plik $HOME kończy się na tym, że jest niepoprawny i wszystko, co się do niego odnosi lub ~ zawieść.
Jarrod Roberson
4
$ man alias
NAME
     alias, unalias - create or remove a pseudonym  or  shorthand
     for a command or series of commands

Są one używane tylko do poleceń.

jeśli chcesz utworzyć skrót do / cygdrive, polecam używanie zmiennych środowiskowych:
export PROJECT_DIR=/cygdrive/c/path/to/project
export c_dir=/cygdrive/c
export d_dir=/cygdrive/d

Umieść je w pliku .profile w katalogu domowym.
Stosowanie:

cd $c_dir
cd $d_dir
cd $PROJECT_DIR
aayoubi
źródło
Chociaż możesz alias c:='/cydrive/c' też może mieć niepożądane skutki uboczne.
ocodo
2

poniżej przedstawiono rozwiązanie do montażu cygwin:

mount --change-cygdrive-prefix /

potem zamiast cd /cygdrive/c

cd /c

wcześniejsze aliasy wpisów są nadal przydatne do skracania poleceń „cd long-path”

MatthewP
źródło
1

Tworzę symboliczne linki w domu Cygwina dla tych katalogów, do których chodzę regularnie, na przykład:

$ cd ~
$ ln -s /cygdrive/c/code

Następnie $ cd code zabiera mnie tam, gdzie chcę iść.

Eric Wilson
źródło
1

Znalazłem poprawniejszą odpowiedź połączyć po tym, jak skorzystałem z zaakceptowanego tutaj i poczułem, że jest to hacky, aby mieć rację, biorąc pod uwagę wszystkie rzeczy, które złamałem.

edytować /etc/fstab aktualna wersja z tego czasu to

none /cygdrive cygdrive binary,posix=0,user 0 0

sprawić, żeby wyglądało

none / cygdrive binary,posix=0,user 0 0

i dobrze jest iść, nie ma hacków, które mogłyby zastąpić rzeczy $PATH lub $HOME albo coś innego!

Jarrod Roberson
źródło
0

Czy możesz użyć uzupełnienia karty? np. typ cd /cy a następnie naciśnij PATKA i mam nadzieję, że dopełni się /cygdrive/

Matthew Steeples
źródło
Zakończenie FYI zsh zostanie rozszerzone cd /cy/c do cd /cygdrive/c, Myślę, że bash nie. Oczywiście zakończenie zsh wykona całą ścieżkę jako skróty, np. cd /cy/c/prog/mi/ [TAB] zależy oczywiście od unikalnych skrótów.
ocodo