Bash に数字を追加する
このチュートリアルでは、expr、算術展開、bc、および awk を使用して bash スクリプトに数値を追加するさまざまな方法を示します。
Bash での追加に expr を使用する
expr は、指定された式を評価し、その値を標準出力に出力するために使用されるコマンドライン Unix ユーティリティです。expr は、パターンマッチングや正規表現など、整数式または文字列式を評価できます。expr は以下の構文を使用します。
$expr expression
expr を使用して bash スクリプトに 2つの整数を追加するには、次のいずれかの構文を使用します。最初の構文は引用符を使用し、2 番目の構文は括弧を使用してドル記号で始まります。
total=`expr $num1 + $num2`
total=$(expr $num1 + $num2)
= 記号の前後にはスペースがないことに注意してください。変数に値を割り当てるときにスペースがないのは、組み込みの bash 構文です。
引用符付きの expr を使用して 2つの数値を追加する bash スクリプトを作成しましょう。2つの整数 2 と 3 は、それぞれ変数 num1 と num2 に割り当てられます。2つの変数の合計が total 変数に割り当てられ、echo コマンドを使用して total 変数の値が標準出力に出力されます。
num1=2
num2=3
total=`expr $num1 + $num2`
echo $total
スクリプトを実行します。
bash add.sh
スクリプトを実行すると、次の出力が得られます。
5
また、括弧付きの expr を使用して 2つの整数を追加する bash スクリプトを作成しましょう。
num1=2
num2=3
total=$(expr $num1 + $num2)
echo $total
スクリプトを実行します。
bash add.sh
スクリプトが実行されると、次の出力が生成されます。
5
Bash での加算に算術展開を使用する
Linux の算術拡張では、組み込みのシェル拡張を使用して、数学計算に括弧を使用します。次の構文は、算術展開に使用されます。
$(( arithmentic expression ))
以下のスクリプトは、算術展開を使用して 2つの整数を加算する方法を示しています。
num1=2
num2=3
total=$(($num1 + $num2))
echo $total
スクリプトを実行します。
bash add_int.bash
スクリプトは以下の出力を生成します。
5
bc を使用して Bash に浮動小数点数を追加する
bc は BashCalculator の短縮形です。浮動小数点算術演算を実行するために使用されます。-l オプションは、事前定義された数学ルーチンを使用するように bc に指示します。
num1=1.1
num2=1.4
echo $num1 + $num2 | bc -l
スクリプトを実行します。
bash add_float.sh
上記のスクリプトを実行すると、次の出力が生成されます。
2.5
awk を使用して Bash に浮動小数点数を追加する
以下のスクリプトを使用して、awk コマンドを使用して 2つの浮動小数点数を追加し、出力を標準出力に出力することもできます。変数 $1 の値は 1.5 で、変数 $2 の値は 3.3 です。
echo 1.5 3.3 | awk '{print $1 + $2}'
スクリプトを実行します。
bash add_float.sh
上記のスクリプトを実行すると、次の出力が生成されます。
4.8
