1

私にとって、bash スクリプトは常にある種の注意が必要です。私は持っている

web_dir=/tng4/users/ldiao/AQF/wrf-chem-result/
rm "$web_dir""three_days_ago/*.gif"

エラーメッセージは

rm: cannot remove '/tng4/users/ldiao/AQF/wrf-chem-result/three_days_ago/*.gif': 
No such file or directory

しかし、私がに変更した場合

rm "$web_dir"three_days_ago/*.gif""

それは動作します。スペルミスはありません。誰かが私に理由を説明できますか? ありがとう!

4

1 に答える 1

6

その理由は、内部でbash グロビングが機能しないためです" "

正しいバリアントは

rm -- "$web_dir/three_days_ago/"*.gif

また、-irmで遊ぶときはオプションを使用してください。このようにして、間違いやタイプミスをした場合、それを確認しない限り、すべてのファイルが削除されることはありません。

于 2013-08-21T16:52:06.977 に答える