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. |