2013-04-19 3 views
6

シェルでgetoptコマンドを使用するためのサンプルスクリプトが見つかりました。"for i" getoptを使用している間に "in [sequence]"が終わらない

#!/bin/bash 
args=$(getopt ab $*) 
set -- $args 
for i; 
do 
    case "$i" in 
    -a)shift; echo "it was a";; 
    -b)shift; echo "it was b";; 
esac; 
done 

これはうまくいきますが、変数$ iがどこに割り当てられているのか分かりません。 $ argを反復しなければならないことをどのように知っているか。これを説明できますか?

+0

'bash'のマニュアルページは' for'ループの説明の下にあります。 – chepner

答えて

11

hereのように、forのデフォルト値はであり、in seqが指定されていない場合のデフォルト値です。 for i$i変数を割り当てます。

関連する問題