Android

Kako povećati i smanjiti varijablu u bash (counter)

Fun with Music and Programming by Connor Harris and Stephen Krewson

Fun with Music and Programming by Connor Harris and Stephen Krewson

Sadržaj:

Anonim

Jedna od najčešćih aritmetičkih operacija prilikom pisanja Bash skripti su povećavanje i smanjivanje varijabli. To se najčešće koristi u petlji kao brojač, ali može se pojaviti i drugdje u skripti.

Povećavanje i smanjivanje znači dodavanje ili oduzimanje vrijednosti (obično 1 ), od vrijednosti numeričke varijable. Aritmetička ekspanzija može se izvesti dvostrukim zagradama ((…)) i $((…)) ili pomoću naredbe let izgrađen.

U Bashu postoji više načina za povećanje / smanjivanje varijable. Ovaj članak objašnjava neke od njih.

Upotreba operatora + i -

Najjednostavniji način povećanja / smanjenja varijable je pomoću operatora + i - .

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

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

Ova metoda vam omogućuje povećanje / smanjivanje varijable za bilo koju vrijednost koju želite.

Evo primjera povećanja varijable unutar petlje until :

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

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

Operatori += i -=

Pored osnovnih opisanih operatora, bash pruža i operatore dodjele += i -= . Ovi se operateri koriste za povećanje / smanjenje vrijednosti lijevog operanda s vrijednosti navedenom nakon operatera.

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

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

U nastavku, while petlja smanjujemo vrijednost varijable i za 5 .

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

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

Korištenje operatora ++ i --

Povećanje i smanjenje operatora ++ i -- , odnosno njegov operand za 1 te vraća vrijednost.

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

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

Operatori se mogu koristiti prije ili nakon operanda. Također su poznati i kao:

  • prirast prefiksa: ++i prefiks:: --i prirast postfiksa: i++ smanjenje postfiksa: i--

Prefiksi operatori prvo povećavaju / smanjuju operatore za 1 a zatim vraćaju novu vrijednost operatora. S druge strane, postfiks operatori vraćaju vrijednost operatora prije nego što su je povećali / smanjili.

Sljedeći primjeri prikazuju kako operater ++ funkcionira kada se koristi prije i nakon njenog operanta:

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

Ispod je primjer kako koristiti privitak postfiksa u bash skripti:

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

Nedostatak korištenja ovih operatora je taj što se varijabla može povećati ili smanjiti za samo 1 .

Zaključak

Povećavanje i smanjivanje varijabli u Bashu može se izvesti na mnogo različitih načina. Koju god metodu da koristite, rezultat je isti.

Ako imate bilo kakvih pitanja ili povratnih informacija, slobodno ostavite komentar.

bash petlja terminal