根据这个答案和我自己的理解,波浪号将扩展到主目录:
$ echo ~
/home/braiam
现在,每当我希望shell扩展能够正常工作时,即使用诸如这样的变量名$FOO
,并且不要因为意外的字符,诸如此类的空格等而中断。应该使用双引号"
:
$ FOO="some string with spaces"
$ BAR="echo $FOO"
$ echo $BAR
echo some string with spaces
为什么此扩展不适用于代字号?
$ echo ~/some/path
/home/braiam/some/path
$ echo "~/some/path"
~/some/path
--path ~/myfile
扩展但--path=~/myfile
不扩展时,这具有不一致的地方。