El Manual de BASH Scripting Básico para Principiantes/Operadores
Asignación
[editar]La asignación de variables se realiza mediante el símbolo de la igualdad =. El símbolo de la igualdad no debe estar seguido de espacios.
i=10
nombre="hola mundo!"
- ¡Atención!
- No confundir con el operador de evaluación de condiciones lógicas, que utiliza el mismo símbolo.
Bash: operadores de comparación
Nota: Aunque es un sinónimo de = el operador == se comporta diferente cuando se usa dentro de corchetes dobles que simples, por ejemplo:
[[ $a == z* ]] # Verdadero si $a empieza con una "z" (expresión regular coincide). [[ $a == "z*" ]] # Verdadero si $a es igual a z* (coincide literalmente). [ $a == z* ] # Ocurre división de palabras. [ "$a" == "z*" ] # Verdadero si $a es igual a z* (coincide literalmente).
no es igual a / Distinto
if [ "$a" != "$b" ]
NOTA: este operador usa coincidencia de patrón dentro de doble corchete.
es menor que (en orden alfabético ASCII)
if [[ "$a" < "$b" ]] if [ "$a" \< "$b" ]
Nota: el operador “<” necesita ser escapado dentro de corchetes.
es mayor que (en orden alfabético ASCII)
if [[ "$a" > "$b" ]] if [ "$a" \> "$b" ]
Nota: el operador “>” necesita ser escapado dentro de corchetes.
La cadena está vacía (null), tiene longitud cero.
String='' # Variable de longitud cero (null) if [ -z "$String" ] then echo "\$String está vacía." else echo "\$String no está vacía." fi
cadena no está vacía (contiene algo)
nota: El operador -n exige que la cadena esté entre comillas entre paréntesis. Aunque el uso sin comillas puede funcionar, es altamente recomendable usar comillas.
Comparaciones lógicas
- -a
Y lógico (and)exp1 -a exp2
devuelve verdadero si ambas exp1 y exp2 son verdaderas.
- -o
O lógico (or)exp1 -o exp2
devuelve verdadero si alguna de las expresiones exp1 y exp2 son verdaderas.
Éstos últimos operadores son similares a los operadores de Bash && (and) y || (or) cuando se usan con doble corchete:
[[ condition1 && condition2 ]]
Publicado: 23 de diciembre de 2009
Revisado: 18 de diciembre de 2009
Categorias: Ver todas las entradas en Bash
Operadores aritméticos
[editar]Los operadores aritméticos son:
| + | suma |
| - | resta |
| \* | multiplicación |
| / | división |
| % | resto |
| ** | potenciación |
Los operadores aritméticos pueden combinarse con la asignación de variables, al estilo de C:
| += | le suma un valor a la variable |
| -= | le resta un valor a la variable |
| *= | le multiplica por un valor a la variable |
| /= | le divide por un valor a la variable |
| %= | asigna a la variable el resto de dividir esa variable por un valor |
Operadores booleanos
[editar]| << | desplazamiento de 1 bit hacia la izquierda que equivale a multiplicar por 2. |
| >> | desplazamiento de 1 bit hacia la derecha, que equivale a dividir por 2. |
| <<= | desplazamiento de 2 bits hacia la izquierda que equivale a multiplicar por 4. |
| >>= | desplazamiento de 2 bits hacia la derecha, que equivale a dividir por 4. |
| & | operación and |
| | | operación or |
| ^ | operador xor |
| ! | operador de negación (NOT) |
Operadores lógicos
[editar]Los operadores lógicos son los que se utilizan en la evaluación de condiciones lógicas (verdadero o falso), no confundir con los operadores booleanos, que son utilizado sobre variables.
| == | operador binario que devuelve "verdadero" si las expresiones son verdaderas |
| && | operador binario que devuelve verdadero si ambas expresiones son verdaderas, en otros casos devuelve falso. |
| || | operador binario que devuelve verdadero si al menos una de las expresiones es verdadera. |