我可能在这里做了一些明显错误的事情。
在 $HOME/.bash_profile 中我添加了(注意路径中的空格):
export PROJ="~/Documents/project livefeed"
之后我得到:
➜ ~ cd $PROJ
cd: no such file or directory: ~/Documents/project livefeed
知道出了什么问题吗?我尝试在引号之间的空格之前添加反斜杠,但这也没有帮助。
该文件夹存在:
➜ ~ cd ~/Documents/project\ livefeed
➜ project livefeed
我还申请了:
➜ ~ source $HOME/.bash_profile
答案1
~
内部不会扩展""
。为了使其工作,请使用
export PROJ=~/"Documents/project livefeed"
答案2
这是 POSIX shell 的一个迷人功能(或可悲的缺点)。你需要总是引用该$PROJ
变量(因此cd "$PROG"
无论何时何地都可以插入该变量),或者使用其他一些 shell,例如 ZSH,它不会执行 POSIX 单词分割操作。
% mkdir "a dir"
% dir="a dir"
% cd $dir
% pwd
/Users/jhqdoe/tmp/a dir
% cd ..
% bash
bash-3.2$ dir="a dir"
bash-3.2$ cd $dir
bash: cd: a: No such file or directory
bash-3.2$ exit
exit
%