环境变量中的波浪号扩展

10
在我的.sh文件中,我有这样一行代码:cp $file $SOME_PATH,其中$SOME_PATH被导出为export SOME_PATH="~/path/to/path/"。但是当我运行这个.sh文件时,我得到了一个错误信息,说“没有这样的“~/path/to/path/”存在。” 我用$HOME替换了~,然后错误就消失了。 那么这里的波浪号是怎么回事呢?
提前感谢。
2个回答

9

使用

SOME_PATH=~/path/to/path/

如果您的路径中有空格,请用引号括起来。

SOME_PATH=~/"path with spaces"

"path with space" -> path\ with\ space - Eric Towers

2

请在导出时去掉引号:

export SOME_PATH=~/path/to/path/

谢谢,但这似乎也不可用。 - dutor
哦,抱歉。实际上,我使用了cp $file "$SOME_PATH"。^_^ - dutor
移除所有引号后,它是否能正常工作?你基本上需要防止字面解释。 - chrisaycock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接