Bashで多段階計算で変数を作成する

Bashで多段階計算で変数を作成する

多段階計算の結果である変数を生成しようとしていますが、正しい型が見つかりませんでした。

variableA=$(( variable1 / variable2 ) * 100)

これを実行すると構文エラーが発生します。誰でも上記の正しい形式を提案できますか?

variableAまた、整数で四捨五入したいので、これに対する提案がある人がいればいいでしょう。

答え1

完全な式を中に入れる必要があります二重括弧:

variableA=$(( (variable1 / variable2) * 100 ))

Bashは整数算術のみを処理するため、変数の1つに整数以外の値が含まれていると構文エラーが発生します。この問題を解決するには、値の最初のピリオドからすべての項目を削除します。

variableA=$(( (${variable1%%.*} / ${variable2%%.*}) * 100 ))

関連情報