Bashでの算術演算

計算をBashスクリプトに追加する方法

Bashはスクリプト言語ですが、汎用プログラミング言語のすべての機能を備えています。 これには算術関数が含まれます。 式の算術評価を呼び出すために使用できる多くの構文オプションがあります。 おそらく最も読みやすいものはletコマンドです。 例えば

"m = 4 * 1024"

1024の4倍を計算し、結果を変数 "m"に代入します。

echo文を追加することで結果を表示することができます:

"m = 4 * 1024"とする。echo $ m

次のコードを入力して、コマンド行からこれをテストできます。

"m = 4 * 1024"とする。 エコー$ m

また、Bashコマンドを含むファイルを作成することもできます。その場合は、コードを実行するプログラムを指定する行をファイルの先頭に追加する必要があります。 例えば:

#!/ bin / bash "m = 4 * 1024"とするecho $ m

Bash実行ファイルが/ bin / bashにあると仮定します。 実行可能になるようにスクリプトファイルのアクセス許可を設定する必要もあります。 スクリプトファイル名がscript1.shであると仮定すると、次のコマンドでファイルを実行可能にするためのアクセス権を設定できます。

chmod 777 script1.sh

その後、次のコマンドで実行することができます:

./script1.sh

使用可能な算術演算は、JavaやCのような標準的なプログラミング言語のものと似ています。上記のように乗算の他に、

"m = a + 7"とする。

または減算:

"m = a - 7"とする。

または部門:

"m = a / 2"とする。

またはモジュロ(整数除算の後の剰余):

"m = a%100"とする。

結果が割り当てられている変数と同じ変数に演算が適用されるときは、複合代入演算子とも呼ばれる標準の算術省略代入演算子を使用できます。 たとえば、追加するには、次のようにします。

"m + = 15"とする。

これは「m = m + 15」に相当する。 減算については、

"m - = 3"とする。

それは "m = m-3"に等しい。 私たちは分裂のために:

"m / = 5"

それは "m = m / 5"に等しい。 モジュロの場合は、次のようになります。

"m%= 10"とする。

これは "m = m%10"に相当します。

さらに、 インクリメント演算子とデクリメント演算子を使用することもできます。

"m ++"

「m = m + 1」に相当する。 そして

"m--"

「m = m-1」に相当する。

そして、指定された条件が真であるか偽であるかに応じて2つの値のうちの1つを返す3項 "疑問符 - コロン"演算子があります。 例えば

「k =(m <9)≦0:1」とする。

この代入文の右辺は、変数 "m"が9より小さい場合は "0"と評価され、それ以外の場合は1と評価されます。つまり、変数 "k"には、 "m"それ以外の場合は「1」になります。

疑問符 - コロン演算子の一般的な形式は次のとおりです。

調子 ? value-if-true:falseの場合の値

Bashでの浮動小数点演算

let演算子は整数演算のみで動作します。 浮動小数点演算の場合、たとえば次の例に示すようにGNU bc電卓を使用できます。

エコー "32.0 + 1.4" | 紀元前

"パイプ"演算子 "|" 算術式「32.0 + 1.4」をbc計算機に渡し、実数を返します。 echoコマンドは、結果を標準出力に出力します。

算術の代替構文

バッククォート(バック・シングル・クォート)を使用して、この例のように算術式を評価できます。

エコー `expr $ m + 18`

これは、変数 "m"の値に18を加えて、結果を出力します。

変数に計算値を割り当てるには、等号をスペースなしで使用できます。

m = `expr $ m + 18`

算術式を評価する別の方法は、二重括弧を使用することです。 例えば:

((m * = 4))

これは変数 "m"の値を四倍にします。

バッシュシェルは、算術評価の他に、 for-loopswhile-loop条件 関数、サブルーチンなどの他のプログラミング構造を提供しています。