ディレクトリがすでに空の場合は、エラーなしでディレクトリのファイルを削除します。

ディレクトリがすでに空の場合は、エラーなしでディレクトリのファイルを削除します。

展開スクリプトの一部として、一時ディレクトリからキャッシュされたコンテンツの一部をダンプしたいと思います。次のコマンドを使用します。

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スイッチを忘れないでください。

おすすめ記事