シェルスクリプトでは、変数の値を増加させる操作、つまりインクリメントを行うことがよくあります。
ここでは、シェルスクリプトでの変数のインクリメント方法について詳しく解説します。
シェルの種類の違いによって使えないコマンドもあるので、使えない場合は他の方法を試してみるとよいでしょう。私の環境では「bash」の場合は、以下のコマンドは全て有効に使えました。
exprコマンドは、シェルスクリプトで基本的な算術演算を行うためのコマンドです。変数のインクリメントもこのコマンドを使って行うことができます。
#!/bin/bash
# 初期値の設定
count=0
# インクリメント処理
count=$(expr $count + 1)
echo "カウントの値は $count です。" # カウントの値は1です。
ここでは、exprコマンドを使って $count変数の値を1増やしています。
$(( ))
を使用する方法\$(( ))を使うと、より簡潔に算術演算を行うことができます。$((count + 1)) という形式で、カッコ内に算術演算を記述することで、変数の値を簡単に更新できます。
#!/bin/bash
# 初期値の設定
count=0
# インクリメント処理
count=$((count + 1))
echo "カウントの値は $count です。"
let コマンドも、シェルスクリプトでのインクリメントに利用できます。ただし「sh」ではうまく動作しない可能性があり、私の環境では「bash」ではないとうまくインクリメントしませんでした。
「!/bin/bash」を忘れずに頭につけましょう。
#!/bin/bash
# 初期値の設定
count=0
# インクリメント処理
let count++
echo "カウントの値は $count です。"
(( ))
を使用する方法最後に(( ))
で算術式を実行する方法があります。以下のように記述します。
#!/bin/bash
# 初期値の設定
count=0
# インクリメント処理
((count++))
echo "カウントの値は $count です。"