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

Luk*_*kap 0 linux bash shell ubuntu

我有这个命令

echo "some text" >> ~/asd/file_name
Run Code Online (Sandbox Code Playgroud)

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

var_name="~/asd/file_name"
Run Code Online (Sandbox Code Playgroud)

那么这不起作用

echo "some text" >> $var_name
Run Code Online (Sandbox Code Playgroud)

cho*_*oba 5

不要在双引号中使用波浪号.然而,Tilde扩展发生在简单的任务中:

var_name=~/asd/filename
Run Code Online (Sandbox Code Playgroud)

您可以使用$HOME而不是~双引号.