bash|四則演算を使って計算する3つの方法

シェル/bash

bashで四則演算を計算する方法を知りたい人

bashで四則演算する方法を知りたい人「bashでシェルスクリプトを書いています。bashには四則演算の機能ってありますか?それとも外部のコマンドを使わなくてはならないですか?」

こんな疑問に答えます。

bashには基本機能として四則演算する機能があります。このほか、コマンドを使うこともできます。

四則演算を使って計算する方法を3つ紹介します。

本記事の内容

1. 四則演算にbashの算術式を使う

bashには、計算を行うための機能(算術式)が標準で備わっているため、外部のコマンドを使わなくても四則演算を行うことができます。

bashの算術式を使った場合の構文

$((《算術式》))

bashの算術式を使う例

1+2を計算してみます。

❯ echo $((1+2))

実行結果は以下の通りです。
[実行結果]

3

2. 四則演算にexprコマンドを使う

ネットでよく見かけるのがexprコマンドです。整数の計算であれば、exprでもOKです。コマンドなので、bashだけでなく他のシェルでも利用可能な点がメリットとして挙げられますが、正直今の時代にはexprコマンドは不要かと思います。

exprコマンドを使った構文

expr 《式》

exprコマンドを使った例

exprでも1+2を計算してみます。

❯ expr 1 + 2

実行結果は以下の通りです。
[実行結果]

3

3. 四則演算にbcコマンドを使う

bcコマンドを使った構文

echo 《式》 | bc

bcコマンドを使った例

bcでも1+2を計算してみます。

❯ echo 1+2 | bc

実行結果は以下の通りです。
[実行結果]

3

どれをつかえばよいか?

[bashの四則演算まとめ]

  • bashで四則演算を計算するなら、$((《算術式》)を使えばOK
  • 小数点の計算をしっかりする時はbcコマンドを使う
  • exprコマンドは使わなくて良い

bashで四則演算を計算するなら、$((《算術式》)を使えばOK

bashの標準機能ですので、kshなど他の古いシェルを使う予定がなければ、これでOKです。

ただし、厳密な小数点の計算をする場合はこれだと上手くいきません。

❯ echo $((1+2.1))

このように、精度に問題があります。
[実行結果]

3.1000000000000001

小数点の計算をしっかりする時はbcコマンドを使う

小数点の計算は、算術式ではなくbcコマンドを使います

❯ echo 1 + 2.1 | bc

[実行結果]

3.1

きちんと小数点の計算ができます。

今回は以上です。参考になりましたら幸いです。