2012-02-14 69 views
0

我有一个名为test_file里面@ @#〜文件:“_ 1328853976191.txt在tmp目录猛砸复制有特殊字符

我运行下面的代码

#!/bin/sh 


for f in /tmp/*.azw2; do 
    if [ -f "$f" ]; then 
     cp "$f" /some/directory 
    fi 

done 

它抛出错误

cp:无法删除'/some/directory/[email protected][email protected]#~:"_1328853976191.txt':没有这样的文件或目录

这适用于目的地是/或根目录下的目录,但不包含任何直销tory 2级深。

我该如何解决这个问题?

+0

你在哪个平台上?这不是来自cp的正常错误消息。但问题可能是目标目录不存在。 – 2012-02-14 17:30:22

+0

@evil otto我在linux上,目标目录存在 – Poorna 2012-02-15 05:30:50

回答

2

我没有一个完整的解释,但文件名中的感叹号让我认为关闭历史扩张(使用set +H)可能会有所帮助。

+0

在我的设备上设置命令没有该选项 – Poorna 2012-02-15 05:42:15