Android

Hogyan növelhető és csökkenthető a bash (számláló)

Marco Annunziata: Welcome to the age of the industrial internet

Marco Annunziata: Welcome to the age of the industrial internet

Tartalomjegyzék:

Anonim

A Bash-szkriptek írásakor az egyik leggyakoribb számtani művelet a növekvő és csökkenő változók. Ezt a hurkot gyakran használják számlálóként, de a szkript más részén is előfordulhat.

A növelés és a csökkentés azt jelenti, hogy egy érték (általában 1 ) hozzáadását vagy kivonását egy numerikus változó értékéből. A számtani kiterjesztés végrehajtható dupla zárójelben ((…)) és $((…)) vagy a let buildtin paranccsal.

A Bash-ban többféle módon is növelhető / csökkenthető egy változó. Ez a cikk néhányat ismertet.

A + és - operátorok használata

A változó növelése / csökkentése a legegyszerűbb módszer a + és - operátorok használata.

i=$((i+1)) ((i=i+1)) let "i=i+1"

i=$((i-1)) ((i=i-1)) let "i=i-1"

Ez a módszer lehetővé teszi a változó növelését / csökkentését bármilyen kívánt értékkel.

Íme egy példa egy változó növekedésére egy add cikluson belül:

i=0 until do echo i: $i ((i=i+1)) done

i: 0 i: 1 i: 2 i: 3

A += és -= operátorok

A fent ismertetett alapvető operátorok mellett a bash a += és -= hozzárendelési operátorokat is biztosítja. Ezeket az operátorokat arra használják, hogy a bal oldali operandus értékét növeljék / csökkentsék az operátor után megadott értékkel.

((i+=1)) let "i+=1"

((i-=1)) let "i-=1"

A következő ciklusban az i változó értékét 5 rel csökkentjük.

i=20 while do echo Number: $i let "i-=5" done

Number: 20 Number: 15 Number: 10 Number: 5

A ++ és -- operátorok használata

A ++ és -- operátorok növelik, illetve csökkentik az operandust 1 rel, és visszatérnek az értékhez.

((i++)) ((++i)) let "i++" let "++i"

((i--)) ((--i)) let "i--" let "--i"

Az operátorok az operandus előtt vagy után is használhatók. Más néven ismertek:

  • előtag növekmény: ++i előtag csökkentése: --i utótag növekmény: i++ utótag csökkentése: i--

Az előtag operátorok először megnövelik / csökkentik az operátort 1 , majd visszaadják az operátorok új értékét. Másrészről, a postfix operátorok visszaadják az operátorok értékét, mielőtt növelik / csökkentik.

A következő példák bemutatják, hogyan működik a ++ operátor, amikor az operátor előtt és után használják:

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

Az alábbiakban látható egy példa arra, hogyan lehet használni a postfix növekményt egy bash szkriptben:

#!/bin/bash i=0 while true; do if]; then exit 1 fi echo i: $i ((i++)) done

Ezen operátorok használatának hátránya, hogy a változó csak 1 rel növelhető vagy csökkenthető.

Következtetés

A Bash-ban lévő változók növelése és csökkentése sokféleképpen elvégezhető. Bármelyik módszert is használja, az eredmény ugyanaz.

Ha bármilyen kérdése vagy észrevétele van, nyugodtan írjon megjegyzést.

bash hurok terminál