If ! shopt –oq posix; then
この問題のすべてのページを検索しましたが、明確な説明が見つかりませんでした。誰でも私を助けることができますか?
答え1
If
実際、if
この行は、if
コマンドを! shopt -oq posix
テストとして実行するステートメントを導入すると仮定します。
shopt
シェルのユーティリティは、bash
特定のシェルオプションを設定するために使用されるユーティリティです。このユーティリティは、特定のシェルオプションが設定されているかどうかをテストするためにも使用できます。これがif
問題の説明では、このユーティリティの目的です。
この-o
オプションは、指定されたオプションが有効なオプションの1つであることを期待しますset -o
(参照help set
)、bash
この-q
オプションはユーティリティを静かにします。つまり、終了状態のみを生成し、出力は生成しません。ステートメント本文を実行するかどうかを決定するためにステートメントがshopt
使用する終了ステータス。if
if
posix
shell に shell オプションが設定されていることを確認しbash
、設定されていない場合 (呼び出し結果が以前とshopt
逆に解釈される)、問い合わせ!
本文を実行するテストです。if
help shopt
対話型bash
セッションも参照してください。
これshopt
は標準ユーティリティではなく、シェルが特別に提供する組み込みユーティリティですbash
。