BASHスクリプト、特に部門での算術操作は、一般的なタスクです。ただし、Bashはデフォルトで浮動小数点数をサポートしていないため、部門操作は少し複雑になります。この記事では、Bashのいくつかの異なる分割方法を調べて、Bashの浮動小数点分裂の欠如に対処する方法を説明します。
expr
コマンドを使用しますexpr
コマンドは、BASHで部門操作を実行する方法です。式を計算し、結果をコンソールに印刷します。基本的な構文は次のとおりです。
x = 60 y = -3 result = $(expr $ x / $ y) エコー「結果:$ result」
ここで、 x
の値はy
で除算され、結果はresult
変数に保存されます。部門オペレーターの前後にスペースが必要であることに注意する必要があります/
スペースがない場合、 expr
コマンドは式を文字列として扱い、構文エラーをもたらします。
ただし、 expr
コマンドには制限があります。整数部門のみをサポートします。つまり、結果が浮動小数点数である場合、整数に切り捨てられます。また、浮動小数点数を入力として受け入れることはできません。
部門操作を実行する別の方法は、ダブルブラケット構文を使用することです。これは、bashで算術操作を実行するための略語方法です。
x = 60 y = -9 result = $(($ x / $ y)) エコー「結果:$ result」
expr
コマンドとは異なり、ダブルブラケット構文は、分割演算子/
の前後にスペースを必要としません。ただし、それでも整数部門のみをサポートしており、入力として浮動小数点数を受け入れません。
printf
コマンドを使用して、精度を向上させますprintf
コマンドは、Bashの分割のためのもう1つの実用的なツールです。浮動小数点数を返すことができ、より正確な結果をもたらすことができます。
x = 60 y = -9 printf "%.4f \ n" $((10 ** 4*x/y))e-4
この例では、 x
に最初に10^4を掛け、次にy
で除算します。フォーマットspecifier %.4f\n
出力を4つの小数点を持つフローティングポイント番号に形成します。ただし、分子と分母はまだ整数である必要があることに注意してください。
bc
コマンドを使用しますbc
(Basic Calculator)コマンドは、部門操作のためのBashで最も強力なツールの1つです。以前の方法とは異なり、入力として浮動小数点数を使用できます。
x = 10.5 y = -2 echo "scale = 4; $ x / $ y" |
ここで、 scale=4
、結果の小数点の後の数字数を指定します。さらに、シェルパイプラインを介してbc
コマンドでシェル変数を使用できます|
分割は、BASHスクリプトの基本的な操作です。 expr
コマンド、ダブルブラケット構文、 printf
およびbc
コマンドを使用することにより、2つの変数をBASHで効果的に分割できます。整数または浮動小数点分割が必要か、変数が整数であるかフローティングポイント番号であるかに基づいて、適切なツールを選択することを忘れないでください。
以上がバッシュの変数のマスター分割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。