私が読んでいるバッシュマニュアル-s
電話時にオプションを理解するにはbash
。最初の文は次のとおりです。
-sこのオプションがある場合、またはオプション処理後に残りの引数がない場合は、標準入力からコマンドを読み取ります。
「オプション処理後にパラメータが保持されない」とはどういう意味ですか?結局、すべてのオプションが処理され、処理するオプション/引数がなくなります。そうですか?
使用するものと使用しないものの違いを知る必要がありますbash -s
(例:)。bash
答え1
以下はパラメータとscript
以下を使用して実行されます。arg1
arg2
bash script arg1 arg2
の場合、-s
非常に異なることが発生します。インタラクティブシェルが開始されると、 bash の残りの引数はコマンドとして解釈されず、位置引数としてのみ解釈されます。
$ bash -s arg1 arg2
$ echo "0=$0 1=$1 2=$2"
0=bash 1=arg1 2=arg2
上記では、echo "0=$0 1=$1 2=$2"
新しいシェルの対話型プロンプトで手動で入力されました。