GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo salir si falla un comando?

Las otras respuestas han cubierto bien la pregunta directa, pero también puede estar interesado en usar set -e . Con eso, cualquier comando que falle (fuera de contextos específicos como if tests) hará que el script se cancele. Para ciertos scripts, es muy útil.


Prueba:

my_command || { echo 'my_command failed' ; exit 1; }

Cuatro cambios:

  • Cambiar && a ||
  • Usar { } en lugar de ( )
  • Presente ; después de exit y
  • espacios después de { y antes de }

Dado que desea imprimir el mensaje y salir solo cuando el comando falla (sale con un valor distinto de cero), necesita un || no es un && .

cmd1 && cmd2

ejecutará cmd2 cuando cmd1 tiene éxito (valor de salida 0 ). donde como

cmd1 || cmd2

ejecutará cmd2 cuando cmd1 falla (valor de salida distinto de cero).

Usando ( ) hace que el comando dentro de ellos se ejecute en un sub-shell y llamando a un exit a partir de ahí, hace que salga de la subcapa y no de su caparazón original, por lo que la ejecución continúa en su caparazón original.

Para superar este uso { }

bash requiere los dos últimos cambios.


Linux
  1. Cómo cambiar el nombre de los archivos en Linux

  2. Cómo usar el comando Su en Linux

  3. ¿Cómo programar un comando Rsync?

  4. ¿Cómo funciona el comando Exit en una terminal Unix?

  5. Cómo salir de un contenedor Docker

Cómo usar el comando SS de Linux

Cómo eliminar un directorio en Linux

Cómo usar el comando nohup de Linux

Comando de salida de Bash y códigos de salida

Cómo usar el comando PS

Cómo usar el comando SUPERIOR