Existen cinco tipos de operadores bolsicos en Unix, que son:
Los operadores aritméticos se emplean para realizar operaciones matemáticas. Los siguientes son algunos de los operadores:
Operador | Operación | Ejemplo |
---|---|---|
Adición + | Realiza sumas entre 2 operandos | Ej: c=`expr $a + $b` |
Substracción - | Realiza restas entre dos operandos | Ej: c=`expr $a – $b` |
Multiplicación * | Multiplica el valor de 2 operandos | Ej: c=`expr $a \* $b` |
División / | Divide el primer operando por el segundo | Ej: c=`expr $a / $b` |
Módulo % | Provee el resto obtenido al dividir el primer operando por el segundo | Ej: f=`expr $a % $b` |
Asignador = | Asigna un valor dado en el segundo operando al primero | |
Incrementador ++ | Incrementa en uno el valor del operando. | Ej: ((a++)) : Post-incremento, ((++a)) : Pre-incremento, ((a–)) : Post-decremento, ((–a)) : Pre-decremento |
Los operadores aritméticos pueden utilizarse independientemente, ya sea que existan otros tipos de operadores en uso - para utilizar otras declaraciones condicionales tales como ''if'' para utilizar su funcionalidad.
Los operadores relacionales se utilizan para comparar y descubrir relaciones entre dos operandos. Estos son algunos de los operadores relacionales:
Operador | Resultado | Ejemplo |
Igualdad == o -eq | Devuelve true si ambos operandos son iguales y false si no lo son. | Ej: $a == $b |
No-igualdad != o -ne | El operador opuesto al operador de igualdad. Devuelve true si ambos operandos son no iguales, y devuelve true si ambos operandos son iguales. | Ej: $a != $b |
Mayor que > o -gt | Devuelve true si el primer operando es mayor que el segundo, y viceversa. | Ej: $a > $b |
Menor que < o -lt ) | Devuelve true si el primer operando es menor que el segundo, y viceversa. | |
Mayor que o Igual a >= o -ge | Devuelve true si el primer operando es mayor o igual al segundo operando, y false si no lo es. | Ej: $a >= $b |
Menor que o Igual a ⇐ o -le | Este devuelve true si el primer operando es inferior o igual al segundo operando, y false si no lo es. | Ej: $a ⇐ $b |
Estos se utilizan para realizar operaciones de lógica de Boole sobre los operandos. Las devoluciones de lógica es VERDADERO
(true
) o FALSO
(false
)
Operador lógico | Resultado booleano | Ejemplos |
---|---|---|
Lógico Y AND && o -a | Este devuelve un valor true booleando si ambos operandos satisfacen la condición de verdad. En todo lo demas devuelven false | Siendo a=20 y b=5 esto [ $a -lt 10 -a $b -gt 1] se convierte en false porque a no es menor a 10 |
Lógico O OR || o -o | Este devuelve un true booleano si cualquiera de los operandos satisface la condición, en cualquier otro caso devuelve false . | siendo a=20 y b=5 esto [ $a -lt 10 -o $b -gt 1s] se vuelve true ya que b siendo mayor a 1 es true |
No Igual a ! | Devuelve un true Booleano si el valor del operando es false y viceversa. | Si a=true [! $a == true] es false |
Estos se utilizan para evaluar las propiedades asociadas con los ficheros del sistema de archivaje Unix.
Operador de Archivo | Resultado booleano |
---|---|
-b | Devolverá true cuando exista el fichero y tiene un tamaño de bloque especial, de lo contrario retornará false . |
-c | Devolverá true cuando exista el fichero y es un fichero de caracter especial, si no devolverá false . |
-d | Devolverá true si el nombre de fichero dado es un directorio, sino retornará false . |
-e | Devolverá true si el fichero dado existe, sino retornará falso . |
-g | Devolverá true si el el bit de SGID (Set Group ID) del fichero está puesto en true . |
-k | Devolverá true si el sticky bit del fichero dado está puesto en true . |
-r | Devolverá true si el fichero dado es legible por el usuario logueado, sino devolverá falso . |
-s | Comprueba el tamaño del fichero dado y devuelve true si es mayor que cero, sino devolverá false . |
-u | Devolverá true si el fichero dado tiene su bit SUID (Set User ID) puesto en true . |
-w | Devolverá true si el fichero dado tiene acceso de escritura para el usuario logueado, sino devolverá false . |
-x | Revisará y devolverá true si el fichero dado puede ejecutarse por el usuario, sino devolverá false . |
Estos se emplean para realizar operaciones a nivel bit sobre los operandos.
Operador | Resultado booleano | Ejemplo |
---|---|---|
AND & de nivel bit | Aquí la operación AND se realiza sobre cada bit del operando. | Ej: Considerando a = 55 y b = 23 para todo los siguientes ejemplos: a & b = 01 |
OR | de nivel bit | Aquí la operación OR se desarrolla en cada bit del operando. | a | b = 77 |
XOR ^ de nivel bit | Aquí la operación XOR se realiza sobre cada operando. | |
Complemento ~ | Este realiza el complemento de cada bit de un operando y devuelve el valor. | ~a = AA |
Esto concluye los principales tipos de Operadores en Unix, junto con sus ejemplos. Puedes aprender mucho más con el Tutorial de Programación en Bash