私のシェルスクリプトは、次のように非常に単純です。
while getopts "abc:" flag; do
echo "$flag" $OPTIND $OPTARG
done
そして、私は次のようにいくつかのテストを行います:
Blank@Blank-PC:~/lab/shell/getopts_go$ sh foo.sh -abc CCC Blank
a 1
b 1
c 3 CCC
Blank@Blank-PC:~/lab/shell/getopts_go$ sh foo.sh -a -b -c CCC Blank
a 2
b 3
c 5 CCC
Blank@Blank-PC:~/lab/shell/getopts_go$ sh foo.sh -ab -c CCC Blank
a 1
b 2
c 4 CCC
Blank@Blank-PC:~/lab/shell/getopts_go$ sh foo.sh -a -bc CCC Blank
a 2
b 2
c 4 CCC
さまざまなコマンドライン呼び出しでどのように機能するか理解できませんOPTIND
。出力に混乱します。
コンピューティングのメカニズムを理解するのを手伝ってもらえますOPTIND
か?