<Anterior | Contenido | Siguiente>
Operadores de control: otra forma de ramificación
bash proporciona dos operadores de control que pueden realizar ramificaciones. && (AND) y || Los operadores (OR) funcionan como los operadores lógicos en el comando compuesto [[]]. Esta es la sintaxis:
comando 1 && comando 2
y
comando 1 || comando 2
Es importante comprender el comportamiento de estos. Con el && operador, comando 1 se ejecuta y comando 2 se ejecuta si, y solo si, comando 1 es exitoso. Con el || operador, comando 1 se ejecuta y comando 2 se ejecuta si, y solo si, comando 1 no tiene éxito.
En términos prácticos, significa que podemos hacer algo como esto:
[yo @ linuxbox ~] $ mkdir temp && cd temp
[yo @ linuxbox ~] $ mkdir temp && cd temp
Esto creará un directorio llamado temp, y si tiene éxito, el directorio de trabajo actual se cambiará a temp. El segundo comando se intenta solo si el mkdir el comando es exitoso. Asimismo, un comando como este:
[yo @ linuxbox ~] $ [[-d temp]] || temperatura de mkdir
[yo @ linuxbox ~] $ [[-d temp]] || temperatura de mkdir
probará la existencia del directorio temp, y sólo si la prueba falla, se creará el directorio. Este tipo de construcción es muy útil para manejar errores en scripts, un tema que discutiremos más en capítulos posteriores. Por ejemplo, podríamos hacer esto en un script:
[-d temp] || salida 1
[-d temp] || salida 1
Si el script requiere el directorio temp, y no existe, entonces el script terminará con un estado de salida de uno.