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コマンドを生産的に使用する
exprコマンドが実際に生産的になる例を示しましょう。この例では、exprコマンドを使用して、10人の子供と122個のスイーツがある場合に子供が取得するスイーツの数を計算します。このプログラムでは、すべての子供が同数のスイーツを受け取った後に残っているスイーツの数も計算されます。
$ children =10 $ sweets =122 $ PerChildShare =`expr $ sweets / $ children` $ RemainingSweets =` expr $ sweets-$ children \ * $ PerChildShare`echo $ PerChildShareecho $ RemainingSweets
出力は、テイクの各子の公平なシェアが12であり、ポットに2を残していることを完全に示しています。
jotコマンド
Linuxのjotコマンドは、開始番号として指定した値と、その後に表示する値の数に基づいて、番号のリストを作成するのに役立ちます。このセクションでは、jotを介して計算を実行するための構文について説明し、jotコマンドを使用してUbuntuコマンドラインで生産的な数学を実行する方法についても説明します。
Ubuntuでjotコマンドを使用するには、最初にAthena-jotをインストールする必要がある場合があります。
許可された人だけがUbuntuでソフトウェアを追加/削除および構成できるため、sudoとして次のコマンドを入力します。
$ sudo apt install athena-jot
システムは、インストールの続行を確認するためのY/nオプションを求めるプロンプトを表示する場合があります。 Yを入力し、Enterキーを押して続行してください。続行すると、ソフトウェアがシステムにインストールされます。
数字yの後にx数字を印刷する
jotコマンドを使用すると、数値yの後にx個の値を出力できます。これを行うには、次のコマンドを使用します。
$ jot x y
次の例で、問題が明確になります。
$ jot 5 1
この出力例では、数値1(y)の後に5(x)値のリストが表示されます。
数値yから数値zまでのx番号を逆印刷します
また、jotコマンドを使用して、数値yの後に数値zで終わるx個の値を逆印刷することもできます。これを行うには、次の構文を使用します。
$ jot x y z
次の例で、問題が明確になります。
$ jot 9 10 2
この出力の逆の例では、リストが数値2(z)に達するまで、数値10(y)の前に9(x)の値が表示されます。
jotコマンドを生産的に使用する
jotコマンドが実際に生産的になる例を示しましょう。この例では、jotコマンドを使用して、1日目(yの値)から始まる1月の15(xの値)日を出力します。
$ for i in `jot 15 1`; 1月の$iをエコーします。完了
出力は次のとおりです:
変数iの入力値としてjotコマンドの出力を使用して、forループを使用しました。
ファクターコマンド
名前から明らかなように、Linuxのfactorコマンドは、提供する数値の因数の値を計算するために使用されます。
構文:
$ファクター番号
例:
上記の例では、数値13にはそれ自体以外の因子がないため、factorコマンドが13を除く特定の数値の複数の因子を出力する方法を確認できます。
bcコマンド
bcコマンドは、bashで複雑な操作を実行するときに非常に便利です。このコマンドは、比較を行ったり、ブール値を処理したり、平方根、正弦、正弦、接線などを計算したりすることもできます。必要なのは、次のように数式をbcコマンドにパイプすることだけです。
$ echo“ math_expression” | bc
次に、出力に数式の結果が表示されます。
例:
$ echo "10 + 10 / 2-(2 * 2)" | bc
円周率の計算
bcコマンドは精度を損なうことはなく、入力する文字列は非常に簡単なので、これを使用して、必要な小数点以下の円周率の値を計算できます。
次の例では、小数点以下を四捨五入するスケール値を指定して、円周率の値を出力しています。
$ echo "scale =2; 4 * a(1)" | bc -l </ pre>
スケール値が2であるため、円周率の結果は小数点以下2桁にスケーリングされます。
echo "scale =10; 4 * a(1)" | bc -l </ pre>
スケール値が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));次に$xをエコーします。 fi
この例では、2つの変数を比較し、xの値がyより大きい場合にのみ出力します。
この記事で紹介するコマンド構文と例により、Linuxbashを介して基本的な数学演算を実行できるようになりました。これは、bashスクリプトを使用してプログラムを作成するなど、より複雑な操作を実行するための基礎として機能します。さらに、ユーザーから値を入力し、入力を処理して、それらの値に基づいて結果を出力できるインタラクティブな計算を実行することもできます。