0

我在 tmp 目录中有一个名为 Test_File@!@#~:"_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': 没有这样的文件或目录

如果目标是 / 或根目录下的目录,但不在任何 2 级深的目录中,则此方法有效。

我该如何解决这个问题?

4

1 回答 1

2

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

于 2012-02-14T17:31:29.133 回答