「forループ」を使用してすべての引数を処理できることを知っています。しかし、私のコードでは、私は好むだろう
i = 1
if [ ${$i} == xx] ; then
xxx
fi
((iArg++))
if [ ${$i} == xx] ; then
xxx
fi
明らかに、${$i} は機能していません。どうすれば正しくなるでしょうか?
私は使用してcshを書いていました
$argv[$i]
今すぐshシェルを使用する必要があります。手伝ってくれてありがとう
この非常に困難なため、引数の解析は通常、 and を使用して行われ$1ますshift。典型的なループは次のようになります。
while [ $# -gt 0 ]; do
case $1 in
-a) echo "-a"; shift 1;; # option with no argument
-b) echo "-b $2"; shift 2;; # option which takes argument, use $2
-c) echo "-c"; shift 1;;
esac
done
そうは言っても、間接変数名を行う方法は、次のように を使用します!。
${!i}