シェルスクリプトで、インクリメント処理について
シェルスクリプトで、for文やwhile文でよく使う「i++」のインクルメント処理があります。
インクルメント処理は、変数に「1」を加算する処理です。
また、このインクリメント処理をシェルスクリプトで実行するには、exprコマンド を使うか、i=$((i+1)) とのように$((…)) のように括弧を2重で囲います
exprコマンド を使う場合
exprコマンドを式を評価するコマンドで、整数を四則演算する事ができます。
i=`expr $i + 1` とすれば、変数の $i に1を足すことができます
$ vi test.sh
#!/bin/bash
for i in {0..9}
do
i=`expr $i + 1`
echo $i
done
$ sh test.sh
1
2
3
4
5
6
7
8
9
10
バッシュの算術式展開(括弧を2重で囲む)を使う場合
$((…))と括弧を2重で囲むと、括弧内の算術を評価して、その結果を返すのでそれを利用します
$ vim test.sh
#!/bin/bash
for i in {0..9}
do
i=$((i+1))
echo $i
done
$ sh test.sh
1
2
3
4
5
6
7
8
9
10



コメント