将字符串重定向到从输入读取为字符串的文件路径

时间:2013-08-13 17:30:56

标签: linux bash shell ubuntu

我有这个命令

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

并且效果很好,但是当我从这样的输入中读取路径时

var_name="~/asd/file_name"

然后这不起作用

echo "some text" >> $var_name

2 个答案:

答案 0 :(得分:5)

请勿在双引号中使用波浪号。然而,Tilde扩展发生在简单的任务中:

var_name=~/asd/filename

您可以在双引号中使用$HOME代替~

答案 1 :(得分:3)

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