システムに影響を与えずに安全に削除できるファイル

システムに影響を与えずに安全に削除できるファイル

シェルスクリプトをより安全にしようとしています。何らかの理由で変数が定義されていない場合は、デフォルト値の使用を検討してください。たとえば、次のようになります。

rm -r "${OUTPUT_DIR:-/dev/null/this_path_does_not_exists}"

存在しないパスを使用することが私が思いついた解決策です。しかし、システム全体の受信者()がある場合は、/dev/nullシステムに影響を与えずに安全に削除できるファイルやダミーファイルがあるのではないかと思いました。だから私の質問は次のとおりです。次のファイルはありますか?

  • 破損、機能損失、またはデータ損失なしで削除可能
  • 自動的に「再生」されます(システムから最初に削除されない可能性があります)。
  • スーパーユーザーで削除しても削除されません。 (驚くべきことに/dev/nullが削除されることがあります:))

ベストアンサー1

常に存在するがいつでも削除される可能性があるファイル(またはディレクトリ)を見つけようとするのではなく、変数を使用する前に明示的にチェックするのはどうですか?

[ -d "$OUTPUT_DIR" ] && rm -r -- "$OUTPUT_DIR"

空、存在しない、またはディレクトリ以外の項目を指している場合は、$OUTPUT_DIR何も削除しようとしません。

おすすめ記事