「set -o」でシェルのプロパティ/オプションを設定/設定解除するのとは異なるオプションを使用して「set」で設定/解除することの違いは何ですか?

「set -o」でシェルのプロパティ/オプションを設定/設定解除するのとは異なるオプションを使用して「set」で設定/解除することの違いは何ですか?

Bashでset特定のシェルオプションを設定または設定解除するために使用されます。

オプション-o option-nameは、+o option-name一部のシェルオプションを設定または設定解除するために使用されます。

-oまたは、of以外の+oオプションをset使用して特定のシェルオプションを設定または設定解除することもできます。

set -o他のオプションで設定/設定解除されたシェルのプロパティ/オプションの違いは何ですかset

set -oおよび他のオプションを使用set +oして設定または設定解除したシェルオプションと比較して、設定または設定解除したシェルオプションの特別な点は何ですか?set-o+o

ベストアンサー1

たとえば、既存のシングル文字オプションとマルチ文字ニーモニックの間に違いはなく、同じですset -eset -o errexit

私はこの2つの型が存在する理由は、シェルに必要なオプションの範囲を表す単一文字フラグが不足しているためだと思います。-o本質的に無制限のオプションが提供されます(許可されるオプション名の長さによってのみ制限されます)。一貫性と独自の文書化コードで使用するために、既存のフラグにもオプション名が与えられます。対応する文字を指定しないオプション名は、単に新しいものです。

おすすめ記事