bash变量路径名中的空格

mat*_*dav 2 variables bash escaping sequence

啊.我讨厌bash转义序列.这样做的正确方法是什么?

$ export SUBLPKG=~/"Library/Application Support/Sublime Text 2/Packages"
$ cd $SUBLPKG
-bash: cd: /Users/$ME/Library/Application: No such file or directory


$ export SUBLPKG=~/"Library/Application\ Support/Sublime\ Text\ 2/Packages"
$echo $SUBLPKG
/Users/$ME/Library/Application\ Support/Sublime\ Text\ 2/Packages
$ cd $SUBLPKG
-bash: cd: /Users/$ME/Library/Application\: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我想打破所有的事情.

gaaaaaahhhhhhhhhhhhhhhhhh.

dev*_*ull 5

正确的方法是在扩展时引用变量,否则会在空格上发生单词拆分:

export SUBLPKG=~/"Library/Application Support/Sublime Text 2/Packages"
cd "$SUBLPKG"
Run Code Online (Sandbox Code Playgroud)

您可能还想在手册中引用Word Splitting.

另请参阅分词在这里.