let - 変数の算術演算を行う

let

letコマンドは、bashの組み込みコマンドで変数の算術演算を行うことができます。変数の算術演算をする場合は変数のパラメータ展開を行う必要はありません。

算術演算は整数値、変数がnullや未設定の場合は値は0として扱われます。

スポンサーリンク

letコマンドの利用例

letコマンドは引数に式を取ることで算術演算を行うことができます。

コマンド例と実行結果

bashの算術演算

bashの算術演算に利用できる演算子は以下の表のとおりになります。
演算子の優先順位は表の上に記述されているものが高く、下に記述されているものが低くなります。

bashの演算子

演算子意味
var++
var--
後置インクリメント(post-increment)
後置デクリメント(post-decrement)
++var
--var
前置インクリメント(pre-increment)
前置デクリメント(pre-decrement)
-var
+var
単項演算子
!
~
論理否定
ビット反転
**べき乗
*
/
%
乗算
除算
剰余演算
+
-
加算
減算
<<
>>
ビットシフト
<=
>=
<
>
比較(大小)
==
!=
比較(等しい)
比較(等しくない)
&ビット演算 AND
^ビット演算 EOR(XOR)
|ビット演算 OR
&&論理演算 AND
||論理演算 OR
expr ? expr : expr3項演算子(条件演算子)
= *= /= %=
+= -= <<= >>=
&= ^= |=
代入演算子
expr1,expr2コンマ演算子(順次演算子)

基数

16進数の数値を扱う場合、数値の頭に'0x'または'0X'を入れることでその数値を16進数の値として扱うことができます。

別の基数を扱う場合は、数値の頭に'base#'のように入れます。baseの値は2~64までの数値になります。基数が11以上の時、10以上の数値については、順番にアルファベットの小文字、大文字、'@'、'_'の文字を利用します。

一般的な数値のように、頭に'base#'の文字がない場合は10進数の数値として扱われます。

参考

Bash Reference Manual

スポンサーリンク