Gdybym był w Terminalu, chciałbym móc napisać:
cd myFolderShortcut
Aby przejść bezpośrednio do katalogu, mam ustawiony ten alias. czy to możliwe?
Zrobiłem dla niego google i aliasy mogą być tym, czego chcę, ale nie mogłem go uruchomić.
Gdybym był w Terminalu, chciałbym móc napisać:
cd myFolderShortcut
Aby przejść bezpośrednio do katalogu, mam ustawiony ten alias. czy to możliwe?
Zrobiłem dla niego google i aliasy mogą być tym, czego chcę, ale nie mogłem go uruchomić.
Odpowiedzi:
Nie potrzebujesz pliku skrótu ani niczego takiego.
Możesz ustawić alias w ~/.bash_profile
, dodając następujący wiersz, więc wystarczy wpisać, myFolderShortcut
aby tam przejść (bez cd
):
alias myFolderShortcut='cd /Users/danielbeck/Documents'
Musisz także wpisać powyższe polecenie lub
source ~/.bash_profile
aby to zadziałało. Działa to z dowolnego katalogu, ale wymaga, aby twoja powłoka logowania była bash
(co jest domyślnym OS X)
Możesz oczywiście tworzyć dowiązania symboliczne do innych katalogów w swoim katalogu domowym. Następnie, gdy otworzysz Terminal i znajdziesz się w katalogu domowym, cd
ing przeniesie Cię do katalogu połączonego.
ln -s /Users/danielbeck/Documents/Projects myProjectsDir
Następnie wpisz cd myProjectsDir
i jesteś na miejscu (wyświetlana ścieżka zawiera, myProjectsDir
ale nie Documents/Projects
).
Link symboliczny pojawi się w Finderze. Aby to ukryć, wpisz chflags hidden myProjectsDir
.
Działa to tylko wtedy, gdy na początku jesteś w katalogu domowym ( cd
bez argumentów szybko Cię tam zabierzesz; możesz wpisać oba polecenia w tym samym wierszu cd && cd myProjectsDir
:).
cd
jak cd ~
mój ulubiony pseudonim.
cd
bez argumentu po prostu implikuje ~
. Nawiasem mówiąc, lubię cd -
bardziej.
bash
powłoki?
Wiem, że to stare, ale to może komuś pomóc.
Po wykonaniu powyższej odpowiedzi @Daniela Becka i dodaniu aliasu do pliku bash_profile, jak wspomniał, musisz wpisać następujące polecenie w oknie terminala:
source .bash_profile
To sprawi, że wszystkie twoje aliasy będą działać.
Mam to z tej odpowiedzi na temat przepełnienia stosu. To zadziałało dla mnie. Mam nadzieję, że zadziała u kogoś, kto tego szuka ...
source ~/.bash_profile
może być bardziej ogólny sposób pisania
Chciałem tylko dodać jedną rzecz, ponieważ przydarzyło mi się to i zajęło mi trochę czasu, aby znaleźć błąd. Napisałem,
alias myFolderShortcut = 'cd /Users/danielbeck/Documents'
bo lubię mieć spacje między znakami równości. Ale dał mi błąd.
Po usunięciu spacji zadziałało.
Więc użyj
alias myFolderShortcut='cd /Users/danielbeck/Documents'
Mam nadzieję, że to pomoże komuś w przyszłości.
Innym podejściem jest użycie zmiennej środowiskowej CDPATH. Działa to dla cd
polecenia tak, jak PATH działa dla uruchomionych programów - jeśli wpiszesz cd
polecenie z parametrem, który nie zaczyna się od /
(lub ~
), powłoka szuka katalogu o tej nazwie pod każdym komponentem CDPATH. Na przykład, jeśli chcesz mieć szybki dostęp do następujących katalogów:
/Users/benhowdle89/Documents/Projects/Project42
/Applications/MAMP/htdocs/website/WhoAt/solr/whoat
/the/quick/brown/fox/jumps/over/the/lazy/dog
następnie ustaw CDPATH na następującą wartość
:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/WhoAt/solr:/the/quick/brown/fox/jumps/over/the/lazy
i będzie można korzystać z poleceń cd Project42
, cd whoat
i cd dog
, itd. Wartość zaczyna się od dwukropka ( :
), tak aby obejmowały początkową pozycję zerową. W niektórych powłokach jest to konieczne, aby cd
najpierw zajrzeć do bieżącego katalogu.
Powinno to działać w większości powłok typu POSIX; np . bash
i ksh
. Dla bash
, wpisz polecenie jak
export CDPATH=:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/…
do twojego ~/.bash_profile
lub ~/.bashrc
. (Jeśli używasz ~/.bashrc
, możesz być w stanie pominąć export
.) W przypadku powłok typu csh, użyj cdpath
i odpowiedniej składni w stylu csh.
~/.bashrc
:alias myalias='cd /path/to/directory'
. Możesz zastąpićmyalias
dowolną niestandardową nazwą polecenia.