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ć, myFolderShortcutaby 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, cding przeniesie Cię do katalogu połączonego.
ln -s /Users/danielbeck/Documents/Projects myProjectsDir
Następnie wpisz cd myProjectsDiri jesteś na miejscu (wyświetlana ścieżka zawiera, myProjectsDirale 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 ( cdbez argumentów szybko Cię tam zabierzesz; możesz wpisać oba polecenia w tym samym wierszu cd && cd myProjectsDir:).
cdjak cd ~mój ulubiony pseudonim.
cdbez argumentu po prostu implikuje ~. Nawiasem mówiąc, lubię cd -bardziej.
bashpowł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_profilemoż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 cdpolecenia tak, jak PATH działa dla uruchomionych programów - jeśli wpiszesz cdpolecenie 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/dognastę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 whoati 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 cdnajpierw zajrzeć do bieżącego katalogu.
Powinno to działać w większości powłok typu POSIX; np . bashi ksh. Dla bash, wpisz polecenie jak
export CDPATH=:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/…
do twojego ~/.bash_profilelub ~/.bashrc. (Jeśli używasz ~/.bashrc, możesz być w stanie pominąć export.) W przypadku powłok typu csh, użyj cdpathi odpowiedniej składni w stylu csh.
~/.bashrc:alias myalias='cd /path/to/directory'. Możesz zastąpićmyaliasdowolną niestandardową nazwą polecenia.