Linuxコマンドラインで基本的な数学を行う方法

Linux bash、またはコマンドラインを使用すると、基本的な演算と複雑な算術演算およびブール演算の両方を実行できます。 expr、jot、bc、factorなどのコマンドは、複雑な問題に対する最適な数学的解を見つけるのに役立ちます。 この記事では、これらのコマンドについて説明し、より有用な数学的ソリューションに移行するための基礎となる例を示します。

この記事に記載されているコマンドと手順をUbuntu18.04LTSシステムで実行しました。

すべての数学演算を実行するために、Ubuntuコマンドラインであるターミナルを使用しています。 システムダッシュまたはCtrl + Alt + Tショートカットのいずれかを使用してターミナルを開くことができます。

exprコマンド

Linuxのexprまたはexpressionコマンドは、数学計算を実行するために使用される最も一般的に使用されるコマンドです。 このコマンドを使用して、加算、減算、乗算、除算、値のインクリメント、さらには2つの値の比較などの機能を実行できます。 このセクションでは、上記の計算を実行するための構文について説明し、exprコマンドを使用してUbuntuコマンドラインで生産的な計算を実行する方法についても説明します。

添加

次のように、exprコマンドを使用して2つ以上の数値を追加できます。

$ expr number1 + number2

例:

$ expr 100 + 10

減算

次のように、exprコマンドを使用して2つ以上の数値の減算を実行できます。

$ expr number1 – number2

例:

$ expr 100 - 10

乗算

次のように、exprコマンドを使用して2つ以上の数値の乗算を実行できます。

$ expr number1 * number2

例:

$ expr 10 * 10

コマンドラインは現在のディレクトリ内のすべてのファイルへの参照として単純なアスタリスクを使用するため、以下はLinuxコマンドラインでの数値乗算の間違った構文であることに注意してください。

$ expr 10 * 10

分割

次のように、exprコマンドを使用して1つの数値を他の数値から除算できます。

$ expr number1 / number2

例:

$ expr 100 / 10

変数をインクリメントする

Linuxで変数をインクリメントするには、最初に次のように定義します。

$ count_variable=0

次に、次の式を使用し、exprコマンドを使用して、インクリメント操作を実行します。

$ count_variable=`expr $count_variable + 1`

これで、次のコマンドを使用して変数値をエコーすると、最初に定義された変数の増分値が出力されます。

$ echo $count_variable

比較

exprコマンドを使用して、ある数値が別の数値より大きいかどうかを確認することもできます。

$ expr number1 > number2

例:

$ expr 20 > 10

結果値1は、最初の数値が2番目の数値よりも大きいことを示します。 一方、結果値0は、最初の数値が2番目の数値より大きくないことを示します。

例:

$ expr 10 > 20

exprコマンドを使用すると、次の構文を使用して2つの数値が等しいかどうかを確認することもできます。

$ expr number1 = number2

例:

$ expr 10 = 10
$ expr 10 = 15

結果値1は、最初の数値が2番目の数値と等しいことを示します。 一方、結果値0は、2つの数値が等しくないことを示します。

上記の例では、2つの比較された数が等しいかどうかを裸眼で見ることができます。 では、この操作はどのように役立ちますか?

プログラム中に、計算されたいくつかの数値の平均が10に等しいかどうかを知りたいとします。 ここでは、exprコマンドを最大限に活用して、「average」変数の結果を10と比較し、この結果に基づいてさらに操作を実行できます。

$ average=10
$ expr $average = 10

exprコマンドを生産的に使用する

提示しましょう example ここで、exprコマンドは実際に生産的です。 これで example、exprコマンドを使用して、10人の子供と122個のスイーツがある場合に子供が取得するスイーツの数を計算します。 プログラムはまた、すべての子供が同じ数のスイーツを手に入れた後に残っているスイーツの数を計算します。

$ children=10
$ sweets=122
$ PerChildShare=`expr $sweets / $children`
$ RemainingSweets=`expr $sweets - $children * $PerChildShare`

echo $PerChildShare
echo $RemainingSweets

出力は、テイクの各子の公平なシェアが12であり、ポットに2を残していることを完全に示しています。

jotコマンド

Linuxのjotコマンドは、開始番号として指定した値と、その後に表示する値の数に基づいて、番号のリストを作成するのに役立ちます。 このセクションでは、jotを介して計算を実行するための構文について説明し、jotコマンドを使用してUbuntuコマンドラインで生産的な数学を実行する方法についても説明します。

Ubuntuでjotコマンドを使用するには、最初にAthena-jotをインストールする必要がある場合があります。

Enter 次のコマンドは sudo 許可された人だけがUbuntuでソフトウェアを追加/削除および構成できるため:

$ sudo apt install athena-jot

インストールの続行を確認するためのY / nオプションが表示される場合があります。 Yを入力し、Enterキーを押して続行してください。その後、ソフトウェアがシステムにインストールされます。

数値yの後にx数値を出力します

jotコマンドを使用すると、数値yの後にx個の値を出力できます。 これを行うには、次のコマンドを使用します。

$ jot xy

以下 example あなたのために問題を明確にします:

$ jot 5 1

私たちの example 出力には、数値1(y)の後に5(x)値のリストが表示されます。

数値yの後に数値zまでx番号を逆印刷します

また、jotコマンドを使用して、数値yの後に数値zで終わるx個の値を逆印刷することもできます。 これを行うには、次の構文を使用します。

$ jot xyz

以下 example あなたのために問題を明確にします:

$ jot 9 10 2

私たちの example 出力は、リストが数値2(z)に達するまで、数値10(y)の前に9(x)の値を表示します。

jotコマンドを生産的に利用する

提示しましょう example ここで、jotコマンドは実際に生産的です。 これで example、jotコマンドを使用して、1日目(yの値)から始まる1月の15(xの値)日を出力します。

$ for i in `jot 15 1`; do echo January $i; done

出力は次のとおりです。

jotコマンドの出力を変数iの入力値として使用することにより、forループを使用しました。

因数分解コマンド

名前から明らかなように、Linuxのfactorコマンドは、提供する数値の因数の値を計算するために使用されます。

構文:

$ファクター番号

例:

上記の例では、factorコマンドが13を除く特定の数値の複数の因数を出力する方法を確認できます。これは、数値13にはそれ自体以外の因数がないためです。

bcコマンド

bcコマンドは、で複雑な操作を実行するときに非常に便利です。 bash。 このコマンドは、比較を行ったり、ブール値を処理したり、平方根、正弦、余弦、接線などを計算したりすることもできます。必要なのは、次のように数式をbcコマンドにパイプすることだけです。

$ echo“ math_expression” | 紀元前

次に、出力に数式の結果が表示されます。

例:

$ echo "10+10/2-(2*2)" | bc

円周率の計算

bcコマンドは精度を損なうことはなく、入力する文字列は非常に簡単なので、これを使用して、必要な小数点以下の円周率の値を計算できます。

以下では example、小数点以下を四捨五入するスケール値を指定して、円周率の値を出力しています。

$ echo "scale=2; 4*a(1)" | bc -l

スケール値が2であるため、円周率の結果は小数点以下2桁にスケーリングされます。

echo "scale=10; 4*a(1)" | bc -l

スケール値が10であるため、円周率の結果は小数点以下10桁にスケーリングされます。

Bash計算の実行

簡単に実行できます bash 二重括弧のセットを使用して計算します。 で算術演算とブール演算の両方を実行できます bash このテクニックを通して。

算術

Linuxでは、次の算術演算のリストを実行できます。 bash:

+、–足し算、引き算
++、—インクリメント、デクリメント
*、/、%乗算、除算、剰余
****指数値

例1:

$ ((x=10))
$ (( e = e + 5 ))
$ echo $e

例2:

$ ((x=10))
$ ((x--))
$ echo $e

例3:

$ ((x=10))
$ ((x=x**2))
$ echo $e

ブールおよび論理

ザ bash mathでは、疑わしい括弧内でブール式と論理式を使用して、数学計算を実行することもできます。

例:

$ ((x=10)); ((y=5))

if (( x > y )); then echo $x; fi

この example 2つの変数を比較し、xの値がyより大きい場合にのみ出力します。

この記事で紹介するコマンド構文と例により、Linuxを介して基本的な数学演算を実行できるようになりました。 bash。 これは、次のようなより複雑な操作を実行するための基礎として機能します。 bash プログラムを作成するためのスクリプト。 さらに、ユーザーから値を入力し、入力を処理して、それらの値に基づいて結果を出力できるインタラクティブな計算を実行することもできます。