Operaciones aritmeticas en bash
Las formas más conocidas para realizar operaciones aritméticas con bash son mediante let y expr. Todos sabemos que son un poco "pijoteras" en cuanto a sintaxis. El otro día trasteando por ahí encontré una forma a mi juicio bastante más sencilla.
# Forma tradicional con let CONTADOR=0 while [ $CONTADOR -lt 10 ]; do echo "Contador vale: $CONTADOR" let "CONTADOR += 1" done # Con expr CONTADOR=0 while [ $CONTADOR -lt 10 ]; do echo "$CONTADOR" CONTADOR=$(expr $CONTADOR + 1) done # Forma alternativa CONTADOR=0 while [ $CONTADOR -lt 10 ]; do echo "$CONTADOR" CONTADOR=$((CONTADOR + 1)) done # Esta última forma, permite usar o no usar dentro de la expresión '$' para la variable, # También se puede poner sin espacios, es decir, esto también lo ejecutará ... CONTADOR=$(($CONTADOR+1)) ... # Por último señalar que también permite el uso de otros operadores como son división, # módulo y potencia: CONTADOR=4 echo "Contador= $CONTADOR" CONTADOR=$((4**5)) echo "Contador= $CONTADOR" CONTADOR=$((CONTADOR%5)) echo "Contador= $CONTADOR" CONTADOR=$((9/3)) echo "Contador= $CONTADOR" # Esto daría los siguientes resultados. Contador= 4 Contador= 1024 Contador= 4 Contador= 3 # Personalmente esta forma de hacer operaciones en bash, me parece más legible y con menos # texto que las anteriores, por lo que es la que estoy usando.
Lenguaje:
bash
