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 información útil sobre el comportamiento del comando de última ejecución.

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

Código de salida Bash

Cada comando de 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 es distinto de cero (1-255), 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 ningún resultado.

En el caso de bash, se puede acceder al código de salida del comando anterior usando la variable de shell “$?”.

Comprobación del código de salida de Bash

Inicie una terminal y ejecute cualquier comando.

$ date

Compruebe el valor de la variable de shell “$?” para el código de salida.

$ echo $?

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

Intentemos ejecutar un comando que no existe.

$ 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:

$ cat sample.txt | grep “coin”

Cuando se trabaja con un comando que tiene una o más canalizaciones, el código de salida será el último código ejecutado en la canalización. En este caso, es el comando grep.

Como el comando grep fue exitoso, será 0.

$ echo $?

En este ejemplo, si el comando grep falla, el código de salida será distinto de cero.

$ cat sample.txt | grep “abcd”
$ echo $?

Incorporación de código de salida en scripts

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

$ #!/bin/bash
$ echo “hello world”
$ status=$?
$ [ $status -eq 0 ] &amp&amp echo “command successful” || echo “command unsuccessful”

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

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

$ #!/bin/bash
$ random-command
$ status=$?
$ [ $status -eq 0 ] &amp&amp echo “command successful” || echo “command unsuccessful”

Cuando se ejecuta, la salida será diferente.

Explicación del valor del código de salida

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

Si bien el valor es limitado, la explicación de cada valor es única para el programa / script. Por ejemplo, “ls” y “grep” tienen diferentes explicaciones para los códigos de error 1 y 2.

$ man ls

$ man grep

Definición del estado de salida en script

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

$ exit &ltvalue&gt

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 terminará, así que tenga cuidado con su ubicació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, el código de salida será 1.

$ #!/bin/bash
$ if [[ $(whoami) != root ]] then
$   echo “Not root user.”
$   exit 1
$ fi
$ echo “root user”
$ exit 0

Verifique el resultado de ejecutar este script sin privilegios sudo o usuario “root”.

$ ./sample.sh
$ 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 bash scripting? Una de las formas más sencillas de empezar es escribiendo sus propios scripts. Consulte esta sencilla guía sobre .

¡Feliz informática!

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux