算術演算とは、加算、減算、乗算、除算、剰余などの一般的な演算を指します。シェルは整数計算のみをサポートします。つまり、小数を生成する可能性のあるすべての演算は小数部分を破棄します。
優先度 |
オペレーター |
機能の説明 |
1 |
+- |
ポジティブ、ネガティブ |
2 |
* /% |
乗算、除算、剰余 |
3 |
+- |
プラスマイナス |
4 |
+=-=… |
自己インクリメント、自己デクリメント… |
例1:加算、減算、乗算、除算
[root @ localhost〜]#aa = $(((11 + 3)* 3/2))
[root @ localhost〜]#echo $ aa
21
#乗算と除算の優先度は加算の優先度よりも高くなりますが、演算の優先度は括弧で調整できます。
変数のテストとコンテンツの置換:
変数置換 |
変数yが設定されていません |
変数yは空です |
変数y設定値 |
x =${y-新しい値} |
x=新しい値 |
xは空です |
x = $ y |
x = ${y+新しい値} |
xは空です |
x=新しい値 |
x=新しい値 |
x = ${y=新しい値} |
x=新しい値 y=新しい値 |
xは空です y値は変化しません |
x = $ y y値は変化しません |
例:
変数yに設定値がない場合、x=新しい値
[root@localhost ~]# unset y
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $x
new
[root@localhost ~]# echo $y
[root@localhost ~]#
変数yが空の場合、xは空です
[root@localhost ~]# y=""
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $x
[root@localhost ~]#
変数yがaaの場合、x = $ y
[root@localhost ~]# y=aa
[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $xaa