シェルスクリプトでインクリメント(i++)処理をする

シェルスクリプトで、インクリメント処理について

シェルスクリプトで、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

スポンサーリンク

0
0