足し算って3桁ぐらいから
暗算が厳しくなるよね!
うん?
ええっと
要するに Linux で
計算ができればなぁと…
もちろんできるよ!
今回は
「算術式展開
(arithmetic expansion)」
を使おう!
基本的な書き方はこうだよ
$(( ... ))
コマンド展開
$( ... )
より丸括弧が多い書き方なんだね...
の所に式を書けば展開してくれるんだ代表的な演算子 | 意味 |
---|---|
+ | 加算 |
- | 減算 |
* | 乗算 |
/ | 除算 |
% | 剰余算 |
echo
で演算結果を表示させてみよう!echo "$((1 + 1))"
実行してみるね!
2
おおっ!まさに私が欲しかった機能だ!
算術式展開の中では変数やコマンド展開も使えるよ
TIMER=180
sleep $((TIMER / 2)); \
echo "半分が経過しました"; \
sleep $((TIMER / 2)); \
tput bel
あれ?
TIMER
変数の値を参照するときは$TIMER
と書くんじゃなかったっけ?算術式展開の中では変数は参照でしか使われないんだそのため参照を表す記号
$
は省略可能で変数名のまま演算してもいいんだよ今回は算術式展開を学んだよ!簡単な計算はシェル上でそのままできちゃうんだね!
整数だけでなく小数の演算もできるよ数値の加工は良くあるので算術式展開に慣れておこう!