Answers:
大多数shell都有一个CDPATH
变量,该变量cd
可以查找目录以与搜索可执行文件相同的方式进行更改$PATH
。
因此,如果将符号链接添加到~/projects
目录中并执行do 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
。
您可能想使用变量而不是符号链接,例如
export project=/home/me/project
然后
cd $project
要么
vim $project/file
更新
正如peterph所指出的,您也可以将它们结合起来(包括预定义变量),例如
export project=$HOME/project
~/project
。
zsh
,你也可以做setopt cdablevars
,然后cd project
zsh
您也许可以将其添加为单独的答案?
project=$HOME/project
...