Unixで破壊を許可する方法

Unixで破壊を許可する方法

私はbashシェル、BSD unix、macosを使用していますが、これは他の多くのunixシェルにも当てはまると思います。このnoclobberオプションは時々便利です。

> find . -name z
> set -o noclobber
> echo "dog" > z
> echo "dog" > z
-bash: z: cannot overwrite existing file

しかし、新しいシェルを起動せずに設定を解除する方法は?奇妙なことに、 、 、 および 類似の項目を検索しても、bash undo set noclobber答えunix un-do set noclobberはすぐに出ませんでした。

次のいずれも無効です。

> unset -o noclobber
-bash: unset: -o: invalid option
unset: usage: unset [-f] [-v] [name ...]
> unset noclobber
> echo "dog" > z
-bash: z: cannot overwrite existing file
> set -o clobber
-bash: set: clobber: invalid option name

ベストアンサー1

人々は次の答えを見つけることができます。「set -x」を元に戻す方法は?だから私たちは

> set +o noclobber
> echo "dog" > z
> 

やや直感的ではありません。+何かをオフにしてオンに-します。

もちろんunset noclobber、これは私が作成した可能性のある名前付き変数をすべて削除しますnoclobber。これはUNIXオプションには影響しません。

おすすめ記事