「オプション処理後に残りの引数がない場合」をどのように理解しますか?

「オプション処理後に残りの引数がない場合」をどのように理解しますか?

Basyのマニュアルには、次のコマンドが記載されていますbash

-S

このオプションがある場合、またはオプション処理後に残りの引数がない場合を押してから、標準入力からコマンドを読みます。このオプションを使用すると、対話型シェルを呼び出すときに位置パラメータを設定できます。

「オプション処理後に残りのパラメータがない場合」をどのように理解するかを知りたいです。

たとえば、 bash -c "echo hello"コマンドは標準入力から読み取られず、"echo hello"オプションの引数であり-c、オプション処理がオプションとその引数を処理するため、「オプション処理後に引数は残りません」。

ありがとうございます。

ベストアンサー1

Bashのマニュアルから文章やこの場合、文章の一部を取り込んで、それ自体に意味があると期待することはできません。マンページの「ARGUMENTS」セクションまたは最後の段落を読んでください。「Bash 呼び出し」セクション:

オプションの処理後に引数があり、オプションまたはオプションの両方が指定されていない場合-c-s最初の引数はシェルコマンドを含むファイルの名前と見なされます(参照:シェルスクリプト)。 Bashがこのように呼び出されると、$0位置引数はファイル名と残りの引数に設定されます。 Bashはこのファイルからコマンドを読み取り、実行してから終了します。 Bashの終了ステータスは、スクリプトで実行された最後のコマンドの終了ステータスです。コマンドが実行されない場合、終了ステータスは 0 です。

-c「オプション処理後に引数が残っていない場合」はその逆なので、その効果は、およびオプションの効果とともに理解する必要があります-s。を指定すると、-c優先順位が適用されます。

オプションではなく、最初の引数からコマンドを読み取り、実行します。コマンド文字列を押して終了します。後で議論になるとコマンド文字列、最初の引数は位置引数に割り当てられ、$0残りの引数は位置引数に割り当てられます。割り当ては、$0警告およびエラーメッセージに使用されるシェルの名前を設定します。

それでは、「オプション処理後に残りの引数がない場合」をどのように理解する必要がありますか?

  • シェルが引数と入力(特に-c)を処理する方法を決定する-s効果を含むすべてのオプションを処理します。
  • 完了した後もシェルの動作がまだ修正されておらず、引数がない場合...

おすすめ記事