Código de salida de Bash del último comando

Código de salida de Bash del último comando

Cuando se ejecuta un comando bash, deja atrás el código de salida, independientemente de la ejecución exitosa o no exitosa. Examinar el código de salida puede ofrecer una visión útil del comportamiento del comando de última hora.

En esta guía, consulte cómo verificar el código de salida bash del último comando y algunos posibles usos de la misma.

Código de salida de Bash

Cada comando UNIX/Linux ejecutado por el script de shell o el usuario deja un estado de salida. Es un número entero que permanece sin cambios a menos que se ejecute el siguiente comando. Si el código de salida es 0, entonces el comando fue exitoso. Si el código de salida no es cero (1-255), entonces significa un error.

Hay muchos usos potenciales del código de salida de Bash. El más obvio es, por supuesto, verificar si el último comando se ejecuta correctamente, especialmente si el comando no genera ninguna salida.

En el caso de Bash, se puede acceder al código de salida del comando anterior utilizando la variable shell "$?".

Comprobando el código de salida de Bash

Iniciar una terminal y ejecutar cualquier comando.

$ Fecha

Verifique el valor de la variable shell "$?"Para el código de salida.

$ Echo $?

Como el comando "fecha" se ejecuta correctamente, el código de salida es 0. ¿Qué pasaría si hubiera un error??

Intentemos ejecutar un comando que no exista.

$ ABCD

Verifique el código de salida.

$ Echo $?

Es un valor distinto de cero, lo que indica que el comando anterior no se ejecutó correctamente.

Ahora, eche un vistazo al siguiente comando:

Muestra de $ Cat.txt | Grep "Moneda"

Al trabajar con un comando que tiene una o más tuberías, el código de salida será del último código ejecutado en la tubería. En este caso, es el comando GREP.

Como el comando GREP fue exitoso, será 0.

$ Echo $?

En este ejemplo, si el comando GREP falla, entonces el código de salida no será cero.

Muestra de $ Cat.txt | Grep "ABCD"
$ Echo $?

Incorporación del código de salida en los scripts

El código de salida también se puede usar para secuestrar. Una forma simple de usarlo es asignándolo a una variable de shell y trabajando con ella. Aquí hay un script de shell de muestra que usa el código de salida como condición para imprimir una salida específica.

ps!/bin/bash
$ Echo "Hello World"
$ status = $?
$ [$ status -eq 0] && echo "comando exitoso" || echo "comando sin éxito"

Cuando se ejecuta, el script generará la siguiente salida.

Ahora, veamos qué sucede cuando hay un comando inválido para ejecutar.

ps!/bin/bash
$ Command Random
$ status = $?
$ [$ status -eq 0] && echo "comando exitoso" || echo "comando sin éxito"

Cuando se ejecuta, la salida será diferente.

Explicación del valor del código de salida

Cuando el código de salida no es cero, el valor varía de 1 a 255. Ahora, ¿qué significa este valor??

Si bien el valor es limitado, la explicación de cada valor es exclusiva del programa/script. Por ejemplo, "LS" y "Grep" tienen diferentes explicaciones para el código de error 1 y 2.

$ hombre ls
$ hombre grep

Definición del estado de salida en el script

Al escribir un script, podemos definir valores de código de salida personalizados. Es un método útil para la depuración más fácil. En los scripts bash, es el comando "salida" seguido del valor del código de salida.

$ Salida

Según la convención, se recomienda asignar el código de salida 0 para una ejecución exitosa y usar el resto (1-255) para posibles errores. Al llegar al comando de salida, la ejecución del script de shell se terminará, así que tenga cuidado con su colocación.

Eche un vistazo al siguiente script de shell. Aquí, si se cumple la condición, el script terminará con el código de salida 0. Si no se cumple la condición, entonces el código de salida será 1.

ps!/bin/bash
$ if [["$ (whoami)" != raíz]]; entonces
$ echo "no usuarios de raíz."
$ Salida 1
$ Fi
$ Echo "Usuario raíz"
$ salida 0

Verifique el resultado de ejecutar este script sin privilegio sudo o usuario de "root".

ps ./muestra.mierda
$ Echo $?

Pensamientos finales

Esta guía demuestra qué son los códigos de salida y cómo puede usarlos. También demuestra cómo asignar códigos de salida apropiados en un script bash.

Interesado en Scripting Bash? Una de las formas más fáciles de comenzar es escribiendo sus propios guiones. Mira esta guía simple sobre cómo escribir un script bash simple.

Computación feliz!