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 !).
#!/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.