В большинстве оболочек есть CDPATH
переменная, которая cd
может искать каталоги для изменения так же, как и в исполняемых файлах $PATH
.
Так что, если вы добавите ваши символические ссылки в ~/projects
каталог и сделаете CDPATH=~/projects
, вы сможете сделать, cd foo
чтобы войти в~/projects/foo
С zsh
, если $var
содержит путь , который вы можете сделать , cd ~var
чтобы cd
к этому пути. Полезная часть этого - когда ваша подсказка имеет, %~
которая затем отражает ее в вашей подсказке:
$ proj1=/usr/local proj2=/etc/apache2
$ PS1='%~$ '
$ cd ~proj1
~proj1$ cd ~proj2/sites-enabled
~proj2/sites-enabled$
С setopt cdablevars
, вы также можете сделать cd proj1
вместо cd ~proj1
.
project=$HOME/project
...~/project
.zsh
, вы также можете сделать,setopt cdablevars
а затемcd project
zsh
возможно, вы могли бы добавить это как отдельный ответ?