Większość powłok ma CDPATH
zmienną, która cd
może wyszukiwać katalogi do zmiany w taki sam sposób, w jaki wyszukiwane są pliki wykonywalne $PATH
.
Więc jeśli dodasz swoje dowiązania symboliczne do ~/projects
katalogu i zrobisz to CDPATH=~/projects
, będziesz mógł zrobić, cd foo
aby wejść~/projects/foo
Dzięki zsh
, jeśli $var
zawiera ścieżkę można zrobić cd ~var
na cd
tej ścieżce. Przydatną częścią tego jest, gdy ma %~
to pytanie, które następnie odzwierciedla to w twoim pytaniu:
$ proj1=/usr/local proj2=/etc/apache2
$ PS1='%~$ '
$ cd ~proj1
~proj1$ cd ~proj2/sites-enabled
~proj2/sites-enabled$
Dzięki setopt cdablevars
możesz również zrobić cd proj1
zamiast cd ~proj1
.
project=$HOME/project
...~/project
.zsh
, możesz również zrobić,setopt cdablevars
a następniecd project
zsh
być może możesz dodać to jako osobną odpowiedź?