Cómo combinar comandos para ejecutar uno tras otro en Linux
Cuando usé Linux por primera vez, las tiendas de software como tal no existían. Había gestores de paquetes, como Synaptic, pero nada como GNOME Software, Discover o Pamac. De lo primero que aprendí fue a actualizar los repositorios de Ubuntu y luego los paquetes. Más adelante cogí la costumbre de eliminar también los paquetes que ya no eran necesarios, pero esto no siempre es recomendable. Explico eso porque este artículo va sobre cómo combinar comandos en Linux.
Hay tres maneras de hacerlo que son las más comunes. En una de ellas, todos los comandos se ejecutarán independientemente de que uno falle o no; la segunda, a partir del segundo sólo se ejecutará si el anterior ha funcionado; en la tercera se ejecutará uno u otro. Cada orden o símbolos entre comandos significan una cosa, y quedará todo explicado a continuación.
Combinar comandos con los operadores &&, ; y ||
Habiendo explicado lo anterior, vamos a hablar primero del operador &&. Aunque hay dos «and» (y), se podría contar como uno, pero el segundo comando sólo se ejecutará si el primero ha funcionado. Por ejemplo, si estamos en un sistema operativo basado en Debian/Ubuntu y hemos añadido el repositorio oficial de OBS Studio, para instalarlo deberemos actualizar los repositorios y luego instalar el OBS de la fuente oficial. El comando quedaría así:
sudo apt update && sudo apt install obs-studio
Lo anterior significa «actualizar los repositorios y, si conseguimos actualizarlos, instalar OBS». Si, por ejemplo, no tenemos conexión a internet y no se pueden actualizar los repositorios, el segundo comando no se ejecutará.
El segundo es el operador del punto y coma. Usaremos este operador (;) si queremos ejecutar varios comandos sin importar si alguno falla o no. Por ejemplo, si tenemos una pantalla grande que lo permita, podemos escribir:
neofetch ; cpufetch
y en la misma ventana del terminal veremos información del sistema operativo, escritorio, etc (neofetch), y de la CPU (cpufetch). Si escribimos mal uno de los dos, el otro sí aparecerá.
Por último, tenemos las dos barras verticales (||) que significan «O», es decir, o uno o el otro. Si tenemos el comando_1 y el comando_2, escribiríamos:
comando_1 || comando_2
y de lo anterior se intentaría ejecutar el comando_1. Si no tiene éxito pasará al comando_2 y así seguirá hasta que llegue al final o a uno que funcione. Por ejemplo, podemos escribir cd Directorio || mkdir Directorio, con lo que o entraremos a ese directorio o, si no existe, lo creará.
¿Y si quiero combinar más?
En una línea podemos combinar más de dos comandos, e incluso los operadores. Por ejemplo:
comando_1 || comando_2 && comando_3
De lo anterior, intentará ejecutar el comando 1. Si lo consigue, parará. Si no, ejecutará el comando 2 y el tercero después, siempre y cuando el comando 2 se ejecute con éxito.
Y así es como se combinan comandos en Linux. Lo único que hay que hacer es recordar qué significa cada operador:
- &&= y, si el anterior ha funcionado.
- ||= o.
- ;= todo.