■四則演算
▼基本的な四則演算
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)の値 |
---|---|---|---|
12 | num3+=10 | 12 + 10 = 22 | 22 |
22 | mum3-=10 | 22 – 10 = 12 | 12 |
12 | num3*=10 | 12 * 10 = 120 | 120 |
120 | num3/=10 | 120 / 10 = 12 | 12 |
2 | num3%=10 | 12 % 10 = 2 | 2 |
■等しい/等しくない・大小判定演算子
プログラム処理等で比較する際、等しい/等しくない、また値の大小を判定する場合の演算子を以下に示す。
演算子 | 概要 |
---|---|
A == B | AとBは等しい |
A != B | AとBは等しくない |
A >= B | AはB以上 |
A <= B | AはB以下 |
A > B | AはBより大きい |
A < B | Aは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
コメント