rm -rf .*
rm
削除を拒否した場合にのみ.
ひどく終了します..
。
グローバルスキーマからこれらの特殊ディレクトリをどのように除外できますか?
dotglob
すべてのファイルではなくドットで始まるファイルだけを一致させたかったので、この方法は機能しませんでした。
ベストアンサー1
Bashの場合、特殊変数をnull以外の値に設定すると、グローバル変数を展開するときにGLOBIGNORE
その変数は無視されます。 ~から.
..
バッシュ文書:
シェル
GLOBIGNORE
変数を使用して、パターンに一致するファイル名のセットを制限できます。GLOBIGNORE
設定されている場合、GLOBIGNORE
これらのパターンのいずれかに一致する各一致ファイル名が一致リストから削除されます。このオプションを設定すると、大文字と小文字に関係なく、nocaseglob
inのパターンに一致するものが検索されます。GLOBIGNORE
設定されていて空でない場合、filename.
と..
は常に無視されます。GLOBIGNORE
ただし、GLOBIGNORE
null以外の値に設定すると、dotglobシェルオプションを有効にする効果があるため、‘.
'で始まる他のすべてのファイル名が一致します。
に設定すると.:..
、.
すべてが..
無視されます。 null 以外に設定するとこの動作も発生するため、次のように設定することをお勧めします。.
だから:
GLOBIGNORE=.
rm -rf .*