私は2つの変数をbashに分割しようとしています、これは私が持っているものです:
var1=3;
var2=4;
echo ($var1/$var2)
常に構文エラーが発生します。誰が間違っているか知っていますか?
シェル解析は、整数除算の場合にのみ役立ちます。
var1=8
var2=4
echo $((var1 / var2))
出力:2
代わりにあなたの例:
var1=3
var2=4
echo $((var1 / var2))
出力:0
bcを使用することをお勧めします。
echo "scale=2 ; $var1 / $var2" | bc
出力:.75
scaleは必要な精度です
ここには2つの可能な答えがあります。
整数除算を実行するには、シェルを使用できます。
_$ echo $(( var1 / var2 ))
0
_
$(( ... ))
構文は、算術展開として知られています。
浮動小数点除算の場合、bc
などの別のツールを使用する必要があります。
_$ bc <<<"scale=2; $var1 / $var2"
.75
_
_scale=2
_ステートメントは、出力の精度を小数点以下2桁に設定します。
bcなしを実行する場合は、awkを使用できます。
$ awk -v var1=3 -v var2=4 'BEGIN { print ( var1 / var2 ) }'
0.75
#!/bin/bash
var1=10
var2=5
echo $((var1/var2))