【Shell】四則演算・大小評価の基礎

■四則演算

▼基本的な四則演算

Shell内で四則演算を行うときは、以下の演算子を使用する。

演算子概要
+加算
減算
*乗算
/除算(商のみ)
%除算(余りのみ)
**べき乗

・サンプルコード

# 変数宣言(整数型)
declare -i num1
declare -i num2

# 初期値をセット
num1=10
num2=3

# 四則演算を実施(順に足し算・引き算・掛け算・割り算(商のみ))
echo $((num1 + num2))
echo $((num1 - num2))
echo $((num1 * num2))
echo $((num1 / num2))

# 除算(余りのみ)とべき乗
echo $((num1 % num2))
echo $((num1 ** num2))

※変数宣言(declare -i 変数名)は省略しても問題なし。

・実行結果

上から順に、以下の計算結果を示す。
10 + 3
10 – 3
10 × 3
10 / 3
10 % 3
103

13
7
30
3
1
1000

▼代入式による四則演算

1つの計算式に計算した結果を変数に代入する方法である。

演算子概要
+=加算
-=減算
*=乗算
/=除算(商のみ)
%=除算(余りのみ)

・サンプルコード

# 変数宣言
declare -i num3
num3=12

# 加算した結果を代入
echo $((num3+=10))
# 減算した結果を代入
echo $((num3-=10))
# 乗算した結果を代入
echo $((num3*=10))
# 除算した結果を代入
echo $((num3/=10))
# 除算した余りを代入
echo $((num3%=10))

・実行結果

22
12
120
12
2

各計算が実行されると、変数「num3」に計算結果が格納されていく。
従って、同じ変数「num3」で代入式の四則演算を行うとき、変数「num3」は以下の値が格納されている。

計算前:変数(num3)の値演算計算結果計算後:変数(num3)の値
12num3+=1012 + 10 = 2222
22mum3-=1022 – 10 = 1212
12num3*=1012 * 10 = 120120
120num3/=10120 / 10 = 1212
2num3%=1012 % 10 = 22

■等しい/等しくない・大小判定演算子

プログラム処理等で比較する際、等しい/等しくない、また値の大小を判定する場合の演算子を以下に示す。

演算子概要
A == BAとBは等しい
A != BAとBは等しくない
A >= BAはB以上
A <= BAはB以下
A > BAはBより大きい
A < BAはBより小さい

・サンプルコード

比較判定処理の後にエラーレベル判定「$?」を組み合わせることで、真偽判定が可能となる。
※1行に比較判定とエラーレベル判定を行うにはセミコロン「 ; 」を使用する。

# 等しい・等しくない判定(True:0, False:1)
((10 == 10));echo $?
((10 == 3));echo $?
((10 != 10));echo $?
((10 != 3));echo $?

# 大小判定(True:0, False:1)
((10 > 3));echo $?
((10 < 3));echo $?

・実行結果

▼等しい・等しくない判定

0
1
1
0

▼大小判定

0
1

コメント