我有一个名为Test_File @的文件!@#〜:“tmp目录中的_ 1328853976191.txt
我正在运行以下代码
#!/bin/sh
for f in /tmp/*.azw2; do
if [ -f "$f" ]; then
cp "$f" /some/directory
fi
done
抛出错误
cp:无法删除'/some/directory/Test_File@!@# ~:"_1328853976191.txt':没有此类文件或目录
如果destination是/或root下的目录,但不在任何2级深度目录中,则此方法有效。
如何解决此问题?
答案 0 :(得分:2)
我没有完整的解释,但文件名中的惊叹号让我觉得关闭历史记录扩展(使用set +H
)可能有所帮助。