【发布时间】:2014-10-15 11:40:33
【问题描述】:
在我的.bash_profile 中,我有:dl="/Users/gary/Downloads。当我转到终端并输入cd $dl 时,它会按预期进入目录。
但是当我在.bash_profile 中有以下行时:
applib="/Users/gary/Library/Application Support"
然后我输入cd $applib 然后它不起作用,因为路径中有空格。
我知道cd "$applib" 确实可以工作,但是有没有办法让它不需要引号?否则,我必须记住哪些路径变量需要引号,哪些不需要。
【问题讨论】:
-
输入
cd "$gm",否则会分词 -
是的,我已经在第三段中指出了这一点。
-
不,仅分配变量时无法防止将来的分词。你可以创建一个别名
alias gm='cd "/Users/gary/Library/Application Support"',然后输入gm。 -
您可能需要考虑使用
zsh而不是bash。它的默认行为是不对参数扩展执行分词,因此cd $applib可以在没有引号的情况下正常工作。它还支持一个设置,允许$applib(如果它不是可执行文件)缩写为cd $applib,这样就更不用输入了。
标签: bash terminal environment-variables cd .bash-profile