Linux-admin-basic-math-operations
Linux Admin-基本的な数学操作
Bashは、加算、減算、乗算、除算に共通の演算子を使用して整数演算を行います。
| + | Addition |
| - | Subtraction |
| * | Multiplication |
| / | division |
| % | Modulus |
| << | Increment |
| — | Decrement |
数学演算を実行する場合、_ $((math formula))_の形式を使用する必要があります
注意- _ $()BASH_ を使用すると、コマンドが実行されます。 echo $(ls) は、lsの出力を端末に出力します。 追加の* nest()*を追加すると、実行される数学演算がBASHに通知されます。
次のコードでは、pre-increment演算子を使用して、端末に出力されるときにインクリメントします。
#!/bin/bash
for i in `seq 0 10`;
do
echo $((++i))
done
出力は次のようになります。
1
2
3
4
5
6
7
8
9
10
11
より基本的な数学演算-
#!/bin/bash
echo $((2+1))
echo $((2-1))
echo $((2*1))
echo $((2/1))
echo $((2%1))
出力は次のようになります。
3
1
2
2
0
BASHでは、整数に対する数学演算の実行は非常に簡単です。 開発者は、整数演算が常に$(())で実行されることを覚えておく必要があり、BASHにそれが数学であることを伝えます。
浮動小数点数の場合、bcコマンドを使用したい-
#!/bin/bash
echo 1.1+2.3 | bc
出力は次のようになります。
3.4
_bc_はかなり複雑になる可能性がありますが、同時に非常に強力なコマンドライン計算機です。
ここにbcのmanページがあります-
bcは、ステートメントの対話型実行で任意の精度の数値をサポートする言語です。 構文にはCプログラミング言語との類似点がいくつかあります。 標準の数学ライブラリは、コマンドラインオプションで使用できます。 要求された場合、数学ライブラリはファイルを処理する前に定義されます。 bcは、コマンド行にリストされているすべてのファイルからのコードをリストされている順序で処理することから始まります。 すべてのファイルが処理された後、bcは標準入力から読み取ります。 コード全体が読み取られたときに実行されます。 (ファイルにプロセッサを停止するコマンドが含まれている場合、bcは標準入力から読み取りません。)
このバージョンのbcには、従来のbc実装およびPOSIXドラフト標準を超えるいくつかの拡張機能が含まれています。 コマンドラインオプションを使用すると、これらの拡張機能で警告が出力されたり、拒否されたりする可能性があります。 このドキュメントでは、このプロセッサで受け入れられる言語について説明します。 拡張機能はそのように識別されます。
_bc_の使用は浮動小数点演算で最適であり、シェルは整数演算を処理できることを覚えておいてください。 オペランドを_bc_に渡す必要があります。 最後に、scaleパラメーターは解の精度を指定します。
#!/bin/bash
echo 'scale = 3; 1.19*2.3' | bc -q
出力は次のようになります。
2.737