シェル・プログラミング:5. 演算
- 整数上の演算:
expr 計算式
和:+,差:-,乗算:*,除算:/,剰余:%
# # 例 9 # #!/bin/sh a=2 b=5 echo "$a + $b = `expr $a + $b`" echo "$a - $b = `expr $a - $b`" echo "$a * $b = `expr $a \* $b`" echo "$b / $a = `expr $b / $a`" echo "$b % $b = `expr $b % $a`"
実行結果) % sh script # Example 9 2 + 5 = 7 2 - 5 = -3 2 * 5 = 10 5 / 2 = 2 5 % 2 = 1 %
- 小数点,関数などの計算:コマンド
bc
# # 例 10 # # 詳細は,コマンド
bc
# のマニュアル (man bc) を参照 # #!/bin/sh echo '# Example 10' a=`echo "scale=5; e (1)" | bc -l` (出力を bc にパイピング) b=`echo "scale=5; sqrt (2)" | bc -l` pi=`echo "scale=10; 4*a(1)" | bc -l` echo $pi echo "$a + $b = `echo $a + $b | bc -l`" echo "$a - $b = `echo $a - $b | bc -l`" echo "$a * $b = `echo $a \* $b | bc -l`" echo "$a / $b = `echo $b / $a | bc -l`" echo "$a % $b = `echo $b % $a | bc -l`"実行結果) % sh script # Example 10 3.1415926532 2.71828 + 1.41421 = 4.13249 2.71828 - 1.41421 = 1.30407 2.71828 * 1.41421 = 3.8442187588 2.71828 / 1.41421 = .52025913445266859926 2.71828 % 1.41421 = .0000000000000000000035272 %