Los operadores de control te permiten encadenar comandos en la terminal para construir flujos de ejecución: ejecutar varios comandos seguidos, decidir si continuar solo cuando el anterior fue exitoso, reaccionar ante errores y crear comportamientos condicionales parecidos a los de un lenguaje de programación.
Dominar ;, && y || es un paso clave para dejar de ejecutar comandos “sueltos” y empezar a automatizar procesos reales, manejar errores de forma controlada y crear flujos de trabajo más robustos para scripts, despliegues, respaldos y tareas repetitivas.
; (ejecución sin condiciones)Este operador ejecuta los comandos en orden, uno después del otro, sin importar si alguno falla. Es útil cuando los comandos no dependen entre sí, por ejemplo para ejecutar una serie de acciones simples (limpiar pantalla, listar archivos, imprimir mensajes, etc.).
Su desventaja es que no controla errores: si un comando falla, los siguientes se ejecutan igual, lo que puede provocar efectos no deseados en flujos más delicados (por ejemplo, continuar un proceso aunque una etapa crítica haya fallado).
&& (ejecución por éxito)&& permite ejecutar el segundo comando solo si el primero terminó correctamente (exit code 0). Este operador introduce lógica condicional en la terminal:
Si el primer comando tiene éxito → se ejecuta el segundo.
Si el primer comando falla → el segundo no se ejecuta.
Es muy usado para flujos seguros, por ejemplo: instalar algo y solo si se instaló bien, continuar con la configuración; crear un archivo y solo si se creó, moverlo o procesarlo. Ayuda a evitar errores en cascada.
Operador condicional OR || (ejecución por error)
|| ejecuta el segundo comando solo si el primero falla. Es la contraparte de && y se usa mucho para manejo de errores:
Si el primer comando falla → se ejecuta el segundo.
Si el primer comando tiene éxito → el segundo no se ejecuta.
Esto permite crear mensajes de error, logs automáticos o acciones de contingencia (por ejemplo, crear un archivo de log si una búsqueda falla).
Combinación de operadores (&& + ||) para flujos de control
La combinación comando1 && comando2 || comando3 permite construir un flujo básico de control: