Bash没有这样的文件或目录错误

时间:2014-07-03 20:41:17

标签: linux bash shell ubuntu

当我这样做时

for files in ~/Desktop/mydir/*.text; 
do
           mycommand  "$files" > "out.txt"
done

工作正常。但是当我用

做同样的事情时
mycommand "$files" > "~/Desktop/out.txt"

我得~/Desktop/out.txt: No such file or directory. 为什么呢?

2 个答案:

答案 0 :(得分:4)

将波形符号从引号中取出,以便正确展开:

mycommand "$files" > ~/Desktop/out.txt

如果路径的后续部分包含空格并且您想引用整个路径,也可以使用${HOME}

mycommand "$files" > "${HOME}/Desktop/out.txt"

答案 1 :(得分:1)

因为引用文件名会抑制大多数字符对shell的特殊含义。特别是,它抑制了文件名开头的'〜/'的含义。