Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有这个命令
echo "some text" >> ~/asd/file_name
它工作得很好,但是当我从这样的输入中读取路径时
var_name="~/asd/file_name"
那么这不起作用
echo "some text" >> $var_name
不要在双引号中使用波浪号。但是,波浪号扩展发生在简单的赋值中:
var_name=~/asd/filename
您可以在双引号中使用$HOME而不是。~
$HOME
~
~是一个特殊字符,当它没有被引用时,它会被 shell 扩展,就像在你的第一个命令中一样。当您使用引号时,就像在第二个中一样,~不会扩展。