Estos códigos permiten la ejecución o no, de un comando en función del código de retorno desde otro comando. Podemos combinar varios códigos de terminación de comandos mediante los operadores lógicos and (representada con &&) or (representada con ||) y not (representada con !).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#!/bin/bash direc=/tmp/existe echo " Prueba de operadores Logicos" echo -e "ingrese usuario : \\c " read username echo -e "ingrese password : \\c " read password # Uso de operadores AND y OR if [[ ( $username == "admin" && $password == "secret" ) || ( $username == "system" && $password == "paso" ) ]]; then echo "valid user" else echo "invalid user" fi # Uso de operador NOT if [[ ! -d $direc ]]; then echo "El directorio $direc, NO existe" fi |
Linea correcta de SCRIPT, por algún motivo no muestra en forma correcta los signos && :
if [[ ( $username == «admin» && $password == «secret» ) || ( $username == «system» && $password == «paso» ) ]]; then
AND (&&)
- El comando comando2 se ejecuta únicamente si el comando comando1 devuelve el código verdadero.
- Si los dos expresiones son verdaderas entonces los dos comandos devuelven verdadero.
OR (||)
- El comando2 se ejecuta únicamente si el comando1 devuelve un código falso.
- La expresión global es verdadera si al menos uno de los comandos devuelve verdadero.
NOT (!) En el ejemplo si el directorio /tmp/existe no existe, entonces se jecuta el comando echo.