ウェブサイト検索

BashスクリプトにおけるBcコマンド


Bashの主な制限の一つは、他のプログラミング言語のように算術演算の小数値を計算できないことです。この問題を解決するためには、Bashの"bc"コマンドが必要です。"bc"の完全な意味は"基本計算機"です。このコマンドを使用することで、任意の数学的計算の小数値を精度値で生成することができます。このチュートリアルでは、Bashにおける"bc"コマンドのさまざまな使い方を示します。

構文:

「bc」コマンドの構文は次のように示されています:

bc [options] [ file ]

このコマンドはオプションなしで使用できます。このコマンドには異なる数学的作業を実行するために異なるタイプのオプションを使用できます。また、ファイルは「bc」コマンドとともに使用してファイルの内容に適用することもできますが、これはオプションです。

「Bc」コマンドの異なる使い方

このチュートリアルのこの部分では、オプションなしでの「bc」コマンドと、オプションありでの「bc」コマンドの使い方が示されています。

例1:“Bc ” コマンドの簡単な使用法

次のスクリプトを使用して、オプションなしで「bc」コマンドを使用するBashファイルを作成します。2つの数値が入力され、これらの数値の割り算の結果が「bc」コマンドを使用した場合と使用しない場合の両方で出力されます。

#!/bin/bash

#Take two input values

echo -n "Enter the dividend value:"

read dividend

echo -n "Enter the divisor value:"

read divisor

#Calculate the division without the 'bc' command

((result=dividend/divisor))

echo "$dividend/$divisor is $result"

#Calculate the division with the 'bc' command

((result=dividend/divisor | bc))

echo "$dividend/$divisor with 'bc' is $result"

スクリプトを実行した後に以下の出力が表示されます。出力によると、「bc」コマンドはオプションなしでは適切な割り算結果を返さないことがわかります。

例 2: -Lオプションを使った「Bc」の使用

「-l」オプションは、「bc」コマンドと共に使用され、分数値を返す算術演算の適切な結果を計算するために使用されます。「bc」コマンドをオプションなしで、そして「-l」オプションと共に使用するスクリプトを含むBashファイルを作成します。2つの数値が入力として取り込まれ、これらの数値の乗算結果が「bc」コマンドで印刷されます。

#!/bin/bash

#Take two input values

echo -n "Enter the first number:"

read n1

echo -n "Enter the second number:"

read n2

#Calculate the multiplication of two numbers using the 'bc' command

echo -n "$n1*$n2 is without -l option is "

echo $n1*$n2 | bc

echo -n "$n1*$n2 is with -l option is "

echo $n1*$n2 | bc -l

スクリプトを実行した後、次の出力が表示されます。この出力によれば、「bc」コマンドの-lオプションを使用すると、適切な乗算結果が返されます:

例3:-Lオプションとスケール値を使用した「Bc」の使用

スケール値は、「bc」コマンドの出力を小数点以下の特定の桁数でフォーマットするために使用されます。「bc」コマンドをオプションなしで、そして -l オプションとともに使用する次のスクリプトを含む Bash ファイルを作成します。スケール値 2 は、小数出力のフォーマットに使用されます。2 つの数値が入力として受け取られ、これらの数字の商が「bc」コマンドで印刷されます:

#!/bin/bash

#Take two input values

echo -n "Enter the first number:"

read n1

echo -n "Enter the second number:"

read n2

#Calculate the multiplication of two numbers using the 'bc' command

echo -n "$n1/$n2 is without -l option is "

echo $n1/$n2 | bc

echo -n "$n1/$n2 is with -l option is "

echo $n1/$n2 | bc -l

echo -n "$n1/$n2 is with -l option and scale value is "

echo "scale=2; $n1/$n2" | bc -l

スクリプトを実行した後、次の出力が表示されます。割り算の出力は、小数点以下2桁にフォーマットされ、スケール値を使用しています:

例4: “Bbc”を使用して10進数を2進数に変換する

obaseフラグは、ある数値システムから別の数値システムに変換するために使用できます。これは2から999までの値を含みます。次のスクリプトを持つBashファイルを作成してください。このスクリプトは、“bc”コマンドを使用して10進数を2進数に変換します。この作業を行うためにobaseの値は2です。

#!/bin/bash

#Take a decimal value

echo -n "Enter a decimal number:"

read dec

echo -n "The binary value of $dec is "

#Convert the decimal value into a binary value

echo "obase=2;$dec" | bc

スクリプトを実行した後に以下の出力が表示されます。11(11)は入力として受け取られ、11の2進数の値は1011であり、出力に印刷されます。

結論

このチュートリアルでは、複数の例を使用して「bc」コマンドのさまざまな使い方を示しています。「bc」コマンドを使用することで、すべての種類の数学的操作の正確な結果を得ることができます。このチュートリアルを読むことで、「bc」コマンドの基本的な使い方が理解できるようになります。