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 に答える