Ayúdanos a seguir proporcionándote tutoriales gratuitos y de calidad desactivando tu bloqueador de anuncios. suscriptores a nuestro sitio.

Cómo aumentar y disminuir el valor de las variables en Bash (contador)

1 mar 2021 2 min di lettura
Cómo aumentar y disminuir el valor de las variables en Bash (contador)
Tabla de contenidos

Introducción

Una de las operaciones aritméticas más comunes al escribir scripts Bash es incrementar y decrementar variables. Esto se usa a menudo en bucles como contador, pero también puede ocurrir en otras partes del script.

Incrementar y decrementar significa sumar o restar un valor (generalmente 1 ), respectivamente, del valor de una variable numérica. La expansión aritmética se puede hacer usando paréntesis dobles ((...)) y $((...)) o con el comando interno let

En Bash, hay varias formas de incrementar /disminuir una variable. Este artículo explica algunos de ellos.

Usando los operadores + y -

La forma más sencilla de incrementar /disminuir una variable es usando los operadores + y -

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

Este método le permite incrementar y disminuir la variable en cualquier valor deseado.

Aquí hay un ejemplo de cómo incrementar una variable dentro de un bucle until

i=0

 until [ $i -gt 3 ]
 do
 echo i: $i
 ((i=i+1))
 done
i: 0
 i: 1
 i: 2
 i: 3

Los operadores + = y - =

Además de los operadores básicos explicados anteriormente, bash también proporciona los operadores de asignación += y -= Estos operadores se utilizan para incrementar y disminuir el valor del operando izquierdo con el valor especificado después del operador.

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

En el while ciclo while estamos disminuyendo el valor de la variable i en 5.

i=20

 while [ $i -ge 5 ]
 do
 echo Number: $i
 let "i-=5"
 done
Number: 20
 Number: 15
 Number: 10
 Number: 5

Usando los operadores ++ y -

Los ++ y -- incrementan y reducen su operando en 1, respectivamente, y devuelven el valor.

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

Los operadores se pueden utilizar antes o después del operando. También se conocen como:

  • incremento de prefijo: ++i
  • disminución de prefijo: --i
  • incremento de sufijo: i++
  • disminución de sufijo: i--

Los operadores de prefijo primero aumentan /disminuyen los operadores en 1 y luego devuelven el nuevo valor de los operadores. Por otro lado, los operadores de sufijo devuelven el valor de los operadores antes de que se haya incrementado /decrementado.

Si solo desea incrementar /disminuir la variable, no hay diferencia entre usar el operador prefijo o sufijo. Solo hace una diferencia si el resultado de los operadores se usa en otra operación o se asigna a otra variable.

Los siguientes ejemplos muestran cómo funciona el ++ cuando se usa antes y después de su operador:

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

A continuación se muestra un ejemplo de cómo usar el incremento de postfijo en un script bash:

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

La desventaja de usar estos operadores es que la variable solo se puede incrementar o disminuir 1.

Conclusión

Las variables de incremento y decremento en Bash se pueden realizar de muchas formas diferentes. Cualquiera que sea el método que utilice, el resultado es el mismo.

Apóyenos si le gusta nuestro contenido. Gracias.

Buy me a coffeeBuy me a coffee

Únase a la conversación

Apóyenos con una donación.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.