使用空格cd到.bash_profile中的路径变量,不使用引号

时间:2014-08-21 18:05:53

标签: bash terminal environment-variables cd .bash-profile

在我的.bash_profile中,我得到了:dl="/Users/gary/Downloads。当我去终端并输入cd $dl时,它会按照预期进入目录。

但是当我在.bash_profile中有以下行时:

applib="/Users/gary/Library/Application Support"

我键入cd $applib然后由于路径中的空格而无效。

我知道cd "$applib" 确实有效,但是有没有办法让它成为我不需要引号?否则,我必须记住我的哪个路径变量需要引号,哪些不需要,例如。

2 个答案:

答案 0 :(得分:4)

在分词前扩展变量。除了引用之外没有其他方法可以保留空格。见man bash

  

扩展的顺序是:大括号扩展,波浪扩展,参数,变量和算术扩展以及命令替换(以从左到右的方式完成),单词拆分和路径名扩展。

不要记住何时使用引号,而是始终使用它们。它们不会损坏没有空格的值。

答案 1 :(得分:2)

使用引号;这就是他们的目标。你不需要记住哪些路径需要引用,哪些路径不需要引用;只是始终如一地使用它们:

cd "$dl"

cd "$applib"