0

我有这个命令

echo "some text" >> ~/asd/file_name

它工作得很好,但是当我从这样的输入中读取路径时

var_name="~/asd/file_name"

那么这不起作用

echo "some text" >> $var_name
4

2 回答 2

5

不要在双引号中使用波浪号。但是,波浪号扩展发生在简单的赋值中:

var_name=~/asd/filename

您可以在双引号中使用$HOME而不是。~

于 2013-08-13T17:34:48.830 回答
3

~是一个特殊字符,当它没有被引用时,它会被 shell 扩展,就像在你的第一个命令中一样。当您使用引号时,就像在第二个中一样,~不会扩展。

于 2013-08-13T17:35:06.767 回答