Android

Cum să creșteți și să diminuați variabila în bash (contor)

Orez cu lapte cremos si aromat, reteta copilariei

Orez cu lapte cremos si aromat, reteta copilariei

Cuprins:

Anonim

Una dintre cele mai comune operații aritmetice la scrierea scripturilor Bash este creșterea și decrementarea variabilelor. Acesta este cel mai adesea folosit în bucle ca contor, dar poate apărea și în altă parte din script.

Creșterea și micșorarea înseamnă adăugarea sau scăderea unei valori (de obicei 1 ), respectiv, a valorii unei variabile numerice. Expansiunea aritmetică poate fi efectuată folosind parantezele duble ((…)) și $((…)) sau cu comanda let builtin.

În Bash, există mai multe modalități de a incrementa / decrementa o variabilă. Acest articol explică unele dintre ele.

Utilizarea operatorilor + și -

Cel mai simplu mod de a incrementa / decrementa o variabilă este folosind operatorii + și - .

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

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

Această metodă vă permite să incrementați / descreșteți variabila cu orice valoare doriți.

Iată un exemplu de incrementare a unei variabile într-o buclă until :

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

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

Operatorii += și -=

În plus față de operatorii de bază explicați mai sus, bash oferă și operatorilor de atribuire += și -= . Acești operatori sunt folosiți pentru a incrementa / decrementa valoarea operandului stâng cu valoarea specificată după operator.

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

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

În următoarea buclă în while ce decrementăm valoarea variabilei cu 5 .

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

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

Utilizarea operatorilor ++ și --

Operatorii ++ și -- , respectiv, crește și descrește, operandul său cu 1 și returnează valoarea.

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

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

Operatorii pot fi folosiți înainte sau după operand. De asemenea, sunt cunoscuți ca:

  • incrementul prefixului: ++i decrement prefix: --i incrementare postfix: i++ decrement postfix: i--

Operatorii prefixului cresc întâi / decrementează operatorii cu 1 și apoi returnează noua valoare a operatorilor. Pe de altă parte, operatorii postfix returnează valoarea operatorilor înainte ca acesta să fie incrementat / decretat.

Următoarele exemple arată modul în care funcționează operatorul ++ atunci când este utilizat înainte și după operatorul său:

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

Mai jos este un exemplu despre cum se utilizează incrementorul postfix într-un script bash:

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

Dezavantajul utilizării acestor operatori este că variabila poate fi incrementată sau decretată doar cu 1 .

Concluzie

Creșterea și decrementarea variabilelor în Bash pot fi efectuate în mai multe moduri diferite. Indiferent de metoda folosită, rezultatul este același.

Dacă aveți întrebări sau feedback, nu ezitați să lăsați un comentariu.

terminal de buclă bash