Android

Jak zwiększać i zmniejszać zmienną w bash (licznik)

How to use the env command: 2-Minute Linux Tips

How to use the env command: 2-Minute Linux Tips

Spisu treści:

Anonim

Jedną z najczęstszych operacji arytmetycznych podczas pisania skryptów Bash jest zwiększanie i zmniejszanie zmiennych. Jest to najczęściej używane w pętlach jako licznik, ale może również wystąpić w innym miejscu skryptu.

Zwiększanie i zmniejszanie oznacza odpowiednio dodawanie lub odejmowanie wartości (zwykle 1 ) od wartości zmiennej numerycznej. Rozwinięcie arytmetyczne można wykonać za pomocą podwójnych nawiasów ((…)) i $((…)) lub za pomocą wbudowanego polecenia let .

W Bash istnieje wiele sposobów na zwiększenie / zmniejszenie zmiennej. W tym artykule wyjaśniono niektóre z nich.

Korzystanie z operatorów + i -

Najprostszym sposobem na zwiększenie / zmniejszenie zmiennej jest użycie operatorów + i - .

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

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

Ta metoda pozwala zwiększać / zmniejszać zmienną o dowolną żądaną wartość.

Oto przykład inkrementacji zmiennej w pętli till:

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

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

Operatory += i -=

Oprócz podstawowych operatorów wyjaśnionych powyżej, bash zapewnia także operatory przypisania += i -= . Te operatory służą do zwiększania / zmniejszania wartości lewego operandu o wartość określoną za operatorem.

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

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

W poniższej pętli while zmniejszamy wartość zmiennej i o 5 .

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

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

Korzystanie z operatorów ++ i --

Operatory ++ i -- zwiększają i zmniejszają odpowiednio swój argument o 1 i zwracają wartość.

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

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

Operatory mogą być używane przed operandem lub po nim. Są one również znane jako:

  • przyrost przedrostka: ++i zmniejszenie przedrostka: - i++ przyrost po przedrostku: i++ zmniejszenie i-- : i--

Operatory przedrostków najpierw zwiększają / zmniejszają operatorów o 1 a następnie zwracają nową wartość operatorów. Z drugiej strony operatory Postfix zwracają wartość operatorów, zanim zostaną one zwiększone / zmniejszone.

Poniższe przykłady pokazują, jak działa operator ++ , gdy jest używany przed operatorem i po nim:

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

Poniżej znajduje się przykład użycia incrementora postfiksowego w skrypcie bash:

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

Wadą używania tych operatorów jest to, że zmienna może być zwiększana lub zmniejszana tylko o 1 .

Wniosek

Zwiększanie i zmniejszanie zmiennych w Bash można wykonać na wiele różnych sposobów. Niezależnie od zastosowanej metody wynik jest taki sam.

Jeśli masz jakieś pytania lub uwagi, zostaw komentarz.

terminal pętli bash