Linux-admin-basic-math-operations

提供:Dev Guides
移動先:案内検索

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