Android

Jak zvýšit a snížit proměnnou v bash (čítač)

Customizing Cloud9 and the CS50 IDE by Dan Armendariz

Customizing Cloud9 and the CS50 IDE by Dan Armendariz

Obsah:

Anonim

Jednou z nejčastějších aritmetických operací při psaní Bashových skriptů je zvyšování a snižování proměnných. Toto je nejčastěji používáno ve smyčkách jako čítač, ale může se vyskytnout i jinde ve skriptu.

Zvýšení a snížení znamená přidání nebo odečtení hodnoty (obvykle 1 ) od hodnoty číselné proměnné. Aritmetická expanze může být prováděna pomocí dvojitých závorek ((…)) a $((…)) nebo pomocí příkazu build builtin.

V Bash existuje několik způsobů, jak zvýšit nebo snížit proměnnou. Tento článek vysvětluje některé z nich.

Použití operátorů + a -

Nejjednodušší způsob, jak zvýšit nebo snížit proměnnou, je pomocí operátorů + a - .

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

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

Tato metoda umožňuje zvýšit nebo snížit proměnnou o libovolnou hodnotu, kterou chcete.

Zde je příklad zvýšení proměnné ve smyčce until :

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

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

Operátoři += a -=

Kromě základních operátorů vysvětlených výše poskytuje bash také operátory přiřazení += a -= . Tito operátoři se používají ke zvýšení / snížení hodnoty levého operandu o hodnotu specifikovanou po operátoru.

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

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

V následující smyčce while snižujeme hodnotu proměnné i o 5 .

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

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

Použití operátorů ++ a --

Operátory ++ a -- operátory zvyšují a snižují operand o 1 a vrací hodnotu.

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

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

Operátory mohou být použity před nebo po operandu. Oni jsou také známí jako:

  • předpona přírůstek: ++i předpona přírůstek: --i přípona přírůstek: i++ i-- : i--

Operátory předpony nejprve operátory zvýší / sníží o 1 a poté vrátí novou hodnotu operátorů. Na druhé straně operátory postfixu vracejí hodnotu operátorů před tím, než byly zvýšeny / sníženy.

Následující příklady ukazuje, jak ++ operátor pracuje při použití před a po jeho operantní:

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

Níže je uveden příklad použití inkrementoru postfixu v bash skriptu:

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

Nevýhodou použití těchto operátorů je to, že proměnnou lze zvýšit nebo snížit pouze o 1 .

Závěr

Inkrementace a dekrementace proměnných v Bash lze provádět mnoha různými způsoby. Ať už použijete jakoukoli metodu, výsledek je stejný.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.

terminál bash smyčky