展開スクリプトの一部として、一時ディレクトリからキャッシュされたコンテンツの一部をダンプしたいと思います。次のコマンドを使用します。
rm /tmp/our_cache/*
ただし、/tmp/our_cache
空の場合(多くの変更をテストサーバーに継続的に適用するときによく発生する)、次のエラーメッセージが表示されます。
rm: cannot remove `/tmp/our_cache/*': No such file or directory
大きな問題ではありませんが、少し見苦しいので、このスクリプトの出力で信号対ノイズ比を減らしたいと思います。
Unixでディレクトリが空であるというメッセージを受け取らずにディレクトリの内容を削除するきちんとした方法は何ですか?
ベストアンサー1
メッセージを表示せずにすべてのファイルを削除したい場合があるので、存在しないファイルを無視する-f
スイッチを使用するのはどうですか?rm
rm -f /tmp/our_cache/*
マニュアルページから:
-f, --force
ignore nonexistent files, never prompt
また、サブディレクトリがある可能性があり、/tmp/our_cache/
そのサブディレクトリとそのコンテンツも削除したい場合は、-r
スイッチを忘れないでください。