В большинстве оболочек есть 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...