viernes, 16 de abril de 2021

Ejecutar varios comandos linux en una sola línea: tres métodos condicionales o no

Hay tres métodos interesantes de separar en una línea varios comandos:

 

Punto y coma (;)

Con este método, se ejecuta cada comando uno detrás de otro independientemente que el anterior haya dado un error o no.

Ejemplo:

apt update; apt -y upgrade 

Se ejecuta cada comando uno detrás de otro en todo caso.

Doble ampersand (&&)

Se ejecuta cada comando uno detrás de otro siempre que el anterior no haya dado error, en caso contrario no se ejecuta ese comando ni los sucesivos.

Ejemplo:

apt update && apt -y upgrade 

Si se ha producido un error en el update, ¿para qué vamos a hacer el upgrade?

 

Doble tubería (||)

Se ejecuta un comando y solo si da error se ejecuta el siguiente. 

Si no da error no ejecuta ni el siguiente ni los sucesivos.

Ejemplo:

apt -y install lua5.4 || apt -y install lua5.3 || apt -y install lua50

Intento instalar la versión más alta de un programa, si falla porque no está disponible voy probando con versiones más antiguas.

1 comentario: