算術演算を書くときに、最も一般的なbashスクリプトの一つは、インクリメントとデクリメント変数です。これは、通常、ループカウンタとして使用されるが、それはまた、スクリプトの他の部分で発生する可能性があります。
手段を追加すると、それぞれインクリメントし、変数値または減算値(通常1)の値をデクリメントします。あなたは、二重括弧((...))と$((...))を使用するか、算術演算を実行することができますビルトインの使用は、コマンドを聞かせて拡張します。
バッシュでは、いくつかの方法プラス/マイナスの変数があります。この記事では、コンテンツの一部を説明します。
+を使用し、 - 演算子
演算子 - +を使用して変数とを加算/減算するための最も簡単な方法。
I = $((I + 1)) ((私は= I + 1)) "I = I + 1"しましょう
I = $((I-1)) ((私は= I-1)) "I = I-1"しましょう
このメソッドは、変数のインクリメント/デクリメントに任意の値をことができます。
変数の例は、ループになるまでインクリメントされ、次の
私は= 0 になるまで[$ iが3 -gt] ん $私は:私はエコー ((I = I + 1))が 行われ
I:0 I:1 I:2 I:3
そして、+ =使用 - =演算子を
以上説明した基本的な演算子に加えて、bashはまた提供され、代入演算子+ = - =。アップ/ダウン、左オペランドの値を使用するオペレータのためのオペレータによって指定されたこれら。
((I + = 1)) "I + = 1"しましょう
((I-= 1)) "I- = 1"しましょう
ループしながら、以下では、我々は、私は5変数の値をデクリメントします。
私は20を= [$ iの5 -ge]ながら やる $私は:エコー番号を "I- = 5"しましょう 完了
番号:20 番号:15 番号:10 番号:5
使用++と - 演算子
+ INと - 演算子インクリメントとデクリメント、それぞれ、操作の値を返します。
((i)が++) ((++ i))を しましょう"私は++" "I ++"しましょう
((i--)) ((--i)) "i--は"聞かせて "--i"しましょう
演算子は、オペランドの前または後に使用することができます。彼らとしても知られています。
- 接頭インクリメント:++ I
- プレフィックス削減:--i
- Postfixの増分た:i ++
- サフィックスの削減:i--
変数の接頭辞演算子プラス/マイナス1をしてみましょう、その後、変数の新しい値を返します。後置演算子演算子は加算/減算の前に変数の値を返します。
あなたは/減少変数を増やしたい場合は、接頭辞や接尾演算子を使用している場合、何も違いはありません。いくつかの他の操作にオペレータの結果のみを使用して、または別の変数に代入するとき、それは異なるであろう。
使用前と後のオペレータはそれが動作するとき++次の例では、演算子を示しています。
X = 5 、Y = $((x ++)) エコーX:$ X エコーY:$と
X:6 と5
X = 5 、Y = $((++ x))を エコーX:$ X エコーY:$と
X:6 と6
ここではbashスクリプトで使用される例は次のとおりです。
#!/ binに/ bashの I = 0 真の間、やる [[ "$ i"の-gt 3]]場合。その後、 1番出口 Fi回線 エコーは、I:$ I ((私は++)) で行わ
これらの演算子を使用することの欠点は、1つの変数のみをインクリメントまたはデクリメントされます。
結論
バッシュのインクリメントおよびデクリメント変数は、多くの異なる方法で実行することができます。どんなに使用されている方法で、結果は同じではありません。