「IGNOREEOF = n」変数と「ignoreeof = n」の単語の使用法の違いは何ですか?

「IGNOREEOF = n」変数と「ignoreeof = n」の単語の使用法の違いは何ですか?

ignoreeof組み込み関数を使用すると、set「IGNOREEOF = n」変数と「ignoreeof = n」という単語を制約として使用できることに気づきました。例えば。

└─$ bash
└─$ set -o ignoreeof
└─$ IGNOREEOF=2
└─$
Use "exit" to leave the shell.
└─$
Use "exit" to leave the shell.
└─$
exit
└─$ bash
└─$ set -o ignoreeof
└─$ ignoreeof=2
└─$
Use "exit" to leave the shell.
└─$
Use "exit" to leave the shell.
└─$
exit

わかりました」EOF 無視=n「いろいろなのにそれが何なのかわからない」無視=n「.監視されて輸出されsetましenvた」EOFを無視「しかし」無視する「いいえ。

ベストアンサー1

マニュアルページにはset -o ignoreeof次のように言及されています。

効果は、シェルコマンド「IGNOREEOF = 10」を実行するのと同じです。

実際、これは文字通りです。

$ echo $IGNOREEOF

$ set -o ignoreeof
$ echo $IGNOREEOF
10

反対のset +o ignoreeof操作を実行しIGNOREEOF、設定を解除し、設定に含まれてSHELLOPTSいるように見えます(割り当てまたは設定に関係ありません)。 (Bash 4.4でテストしました。)ignoreeofIGNOREEOFset -o ignoreeof

小文字変数にはignoreeof特別な効果がない可能性があります。

奇妙ですが、小文字の変数は、ignoreeof大文字の変数と文書化されていないのと同じように見えます。したがって、2つのうちの1つを変更すると、必要なEOFの数が変わります。これは2番目の例にあるようです。

維持管理者によると、小文字

以前のバージョンとの互換性のためにのみ存在し、廃止され、長年使用されています。

しかし、通常、set -oフラグと変数は異なります。

おすすめ記事