私はシェルプログラミングの初心者であり、非常に愚かな質問のように聞こえますが、変数値を1増やすことはできないようです。 tutorial を見ましたが、それだけです2つの変数を加算する方法を示します
私は次の方法を試しましたが、うまくいきません
i=0
$i=$i+1 # doesnt work , command not found
echo "$i"
$i='expr $i+1' # doesnt work , command not found
echo "$i"
$i++ # doesnt work , command not found
echo "$i"
変数の値を1増やす方法は?
これを試すことができます:
i=0
i=$((i+1))
Bashで変数をインクリメントする方法は複数ありますが、試したことは正しくありません。
たとえば、算術展開を使用できます。
i=$((i+1))
またはのみ:
((i=i+1))
または:
((i+=1))
あるいは:
((i++))
または、letを使用できます。
let "i=i+1"
またはのみ:
let "i+=1"
あるいは:
let "i++"
http://tldp.org/LDP/abs/html/dblparens.html も参照してください。
Exprの使用方法:
i=0
i=`expr $i + 1`
i ++の使用方法
((i++)); echo $i;
GNU Bashでテスト済み
bc
を使用することもできます。
var=$(echo "1+2"|bc)
これらは私が知っている方法です:
ichramm@NOTPARALLEL ~$ i=10; echo $i;
10
ichramm@NOTPARALLEL ~$ ((i+=1)); echo $i;
11
ichramm@NOTPARALLEL ~$ ((i=i+1)); echo $i;
12
ichramm@NOTPARALLEL ~$ i=`expr $i + 1`; echo $i;
13
最後の例のスペースに注意してください。また、$i
を使用するのはそれだけです。