androide

Come incrementare e decrementare la variabile in bash (contatore)

Customizing Cloud9 and the CS50 IDE by Dan Armendariz

Customizing Cloud9 and the CS50 IDE by Dan Armendariz

Sommario:

Anonim

Una delle operazioni aritmetiche più comuni durante la scrittura di script Bash è l'incremento e il decremento delle variabili. Questo è spesso usato nei loop come contatore, ma può verificarsi anche altrove nello script.

Incrementare e decrementare significa aggiungere o sottrarre un valore (di solito 1 ), rispettivamente, dal valore di una variabile numerica. L'espansione aritmetica può essere eseguita usando le doppie parentesi ((…)) e $((…)) o con il comando let incorporato.

In Bash, ci sono diversi modi per incrementare / decrementare una variabile. Questo articolo spiega alcuni di essi.

Uso degli operatori + e -

Il modo più semplice per incrementare / decrementare una variabile è usando gli operatori + e - .

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

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

Questo metodo consente di incrementare / decrementare la variabile di qualsiasi valore desiderato.

Ecco un esempio di incremento di una variabile all'interno di un ciclo until :

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

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

Gli operatori += e -=

Oltre agli operatori di base spiegati sopra, bash fornisce anche gli operatori di assegnazione += e -= . Questi operatori vengono utilizzati per incrementare / decrementare il valore dell'operando di sinistra con il valore specificato dopo l'operatore.

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

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

Nel ciclo while seguente stiamo diminuendo di 5 il valore della variabile i .

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

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

Uso degli operatori ++ e --

Gli operatori ++ e -- incrementano e diminuiscono, rispettivamente, il suo operando di 1 e restituiscono il valore.

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

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

Gli operatori possono essere utilizzati prima o dopo l'operando. Sono anche conosciuti come:

  • incremento prefisso: ++i decremento prefisso: --i incremento postfisso: i++ decremento postfisso: i--

Gli operatori prefisso prima incrementano / diminuiscono gli operatori di 1 e quindi restituiscono il nuovo valore degli operatori. D'altra parte, gli operatori postfix restituiscono il valore degli operatori prima che sia stato incrementato / decrementato.

Gli esempi seguenti mostrano come funziona l'operatore ++ quando viene usato prima e dopo il suo operante:

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

Di seguito è riportato un esempio di come utilizzare l'incremento postfix in uno script bash:

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

Lo svantaggio dell'utilizzo di questi operatori è che la variabile può essere incrementata o decrementata solo di 1 .

Conclusione

Le variabili di incremento e decremento in Bash possono essere eseguite in molti modi diversi. Qualunque sia il metodo che usi, il risultato è lo stesso.

Se hai domande o feedback, non esitare a lasciare un commento.

terminale loop bash