1. ホーム
  2. linux

[解決済み] Linuxシェルで変数を使った除算を行うには?

2022-04-25 17:45:25

質問

シェルで以下のようなコマンドを実行すると expr: non-integer argument というエラーが発生します。どなたか解説していただけませんか?

$ x=20
$ y=5
$ expr x / y 
expr: non-integer argument

解決方法は?

これらの変数はシェル変数です。 他のプログラムへのパラメータとして展開するには ( ie expr ) を使用する必要があります。 $ の接頭辞が必要です。

expr $x / $y

文句を言われたのは、アルファベットを操作しようとしていると思われたからです( アイ 非整数)

Bashシェルを使っている場合は、式の構文を使って同じ結果を得ることができます。

echo $((x / y))

または

z=$((x / y))
echo $z