フォルダが存在する場合は削除する

フォルダが存在する場合は削除する

フォルダー、サブフォルダー、およびファイルが存在する場合は削除する必要があります。次の操作を実行しようとしています。

if [ ! -d folder ]; then rm -rf folder; fi

しかし、うまくいきません。どうすればこれを実現できるでしょうか?

答え1

このif [ ! -d folder ]部分は間違っています。空のディレクトリと空でないディレクトリの両方で false になります。感嘆符は論理否定演算子です。つまり、ディレクトリを削除する前に、ディレクトリが存在しないかどうかをチェックしているのです。

その感嘆符を削除してください。

関連情報