目次:
Bashスクリプトを記述するときの最も一般的な算術演算の1つは、変数の増分と減分です。 これは、ループでカウンターとして最もよく使用されますが、スクリプト内の他の場所でも発生する可能性があります。
インクリメントとデクリメントは、数値変数の値にそれぞれ値(通常は
1
)を加算または減算することを意味します。 算術展開は、二重括弧
((…))
および
$((…))
か、
let
組み込みコマンドを使用して実行できます。
Bashには、変数をインクリメント/デクリメントする複数の方法があります。 この記事ではそれらのいくつかについて説明します。
+
および
-
演算子の使用
変数をインクリメント/デクリメントする最も簡単な方法は、
+
および
-
演算子を使用することです。
i=$((i+1)) ((i=i+1)) let "i=i+1"
i=$((i-1)) ((i=i-1)) let "i=i-1"
このメソッドを使用すると、任意の値で変数をインクリメント/デクリメントできます。
以下は、
until
ループ内で変数をインクリメントする例です。
i=0 until do echo i: $i ((i=i+1)) done
+=
および
-=
演算子
上記で説明した基本的な演算子に加えて、bashは代入演算子
+=
および
-=
も提供します。 これらの演算子は、演算子の後に指定された値で左オペランドの値をインクリメント/デクリメントするために使用されます。
((i+=1)) let "i+=1"
((i-=1)) let "i-=1"
次の
while
ループでは、変数
i
値を
5
減らします。
i=20 while do echo Number: $i let "i-=5" done
Number: 20 Number: 15 Number: 10 Number: 5
++
および
--
演算子の使用
++
および
--
演算子は、それぞれオペランドを
1
ずつ増加および減少させ、値を返します。
((i++)) ((++i)) let "i++" let "++i"
((i--)) ((--i)) let "i--" let "--i"
演算子は、オペランドの前または後に使用できます。 彼らはまたとして知られています:
- プレフィックス増分:
++i
プレフィックス減分:--i++
ポストフィックス増分:i++
ポストフィックス減分:i--
プレフィックス演算子は、最初に演算子を1ずつインクリメント/デクリメントしてから、演算子の新しい値を返します。 一方、後置演算子は、インクリメント/デクリメントされる前に演算子の値を返します。
次の例は、演算子の前後で
++
演算子が使用される場合の動作を示しています。
x=5 y=$((x++)) echo x: $x echo y: $y
x: 6 y: 5
x=5 y=$((++x)) echo x: $x echo y: $y
x: 6 y: 6
以下は、bashスクリプトで後置インクリメンターを使用する方法の例です。
#!/bin/bash i=0 while true; do if]; then exit 1 fi echo i: $i ((i++)) done
これらの演算子を使用することの欠点は、変数を1だけ増分または減分できることです。
結論
Bashの変数の増分および減分は、さまざまな方法で実行できます。 どの方法を使用しても、結果は同じです。
ご質問やフィードバックがある場合は、お気軽にコメントをお寄せください。
バッシュループターミナルBash forループ
Bashスクリプトには、forループ、whileループ、untilループの3つの基本的なループ構造があります。 このチュートリアルでは、Bashのforループの基本と、ループのフローを変更するbreakおよびcontinueステートメントについて説明します。
Bash:ファイルに追加
Linuxには、ファイルにテキストを追加する方法が複数あります。 この記事ではそれらのいくつかについて説明します。
Bash whileループ
ループは、プログラミング言語の基本概念の1つです。 ループは、一連のコマンドを繰り返し実行する場合に便利です。 このチュートリアルでは、Bashのwhileループの基本と、ループのフローを変更するbreakおよびcontinueステートメントについて説明します。