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でテストしました。)ignoreeof
IGNOREEOF
set -o ignoreeof
小文字変数にはignoreeof
特別な効果がない可能性があります。
奇妙ですが、小文字の変数は、ignoreeof
大文字の変数と文書化されていないのと同じように見えます。したがって、2つのうちの1つを変更すると、必要なEOFの数が変わります。これは2番目の例にあるようです。
維持管理者によると、小文字
以前のバージョンとの互換性のためにのみ存在し、廃止され、長年使用されています。
しかし、通常、set -o
フラグと変数は異なります。