2012-02-14 14 views
0

I持っ@#〜Test_Fileという名前のファイル:!私はそれはエラーbashは特殊文字をコピーし

に投げる次のコード

#!/bin/sh 


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

done 

を実行しています

tmpディレクトリにある "_ 1328853976191.txt

CP:削除することはできません「/some/directory/[email protected][email protected]#~:"_1328853976191.txt」:そのようなファイルやディレクトリは

ない先がいずれかのどちらか/またはディレクトリのルートの下ではなく、場合、これは動作しますディレクトリトリー2レベル深い。

この問題を解決するにはどうすればよいですか?

+0

あなたはどのプラットフォームにいますか?これはcpからの通常のエラーメッセージではありません。しかし、問題は、宛先ディレクトリが存在しない可能性が高いことです。 –

+0

@evil otto私はLinux上にあり、宛先ディレクトリが存在する – Poorna

答えて

2

完全な説明はありませんが、ファイル名に感嘆符を付けると、履歴を展開することをオフにして(set +Hを使用すると)役立つ可能性があります。

+0

自分のデバイス上でsetコマンドにそのオプションがない – Poorna