Cómo usar el comando Salir en Bash

1 mar 2021 1 min di lettura
Cómo usar el comando Salir en Bash
Indice dei contenuti

Introducción

A menudo, al escribir scripts de Bash, es necesario finalizar el script cuando se cumple una determinada condición o realizar una acción en función del código de salida de un comando.

En este artículo, cubriremos exit y los estados de salida de los comandos ejecutados.

Estado de salida

Cada comando de shell devuelve un código de salida cuando sale, ya sea exitoso o no exitoso.

Por convención, un código de salida de cero indica que el comando se completó correctamente y que un valor distinto de cero indica que se ha producido un error.

La variable especial $? devuelve el estado de salida del último comando ejecutado:

date &> /dev/null
echo $?

El date completó correctamente y el código de salida es cero:

0

Si intenta ejecutar ls en un directorio que no existe, el código de salida no será cero:

ls /nonexisting_dir &> /dev/null
echo $?
2

El código de estado se puede utilizar para averiguar por qué falló el comando. La página de manual de cada comando incluye información sobre códigos de salida.

Cuando se ejecuta una canalización de varios comandos, el estado de salida de la canalización es el del último comando:

sudo tcpdump -n -l | tee file.out
echo $?

En el ejemplo anterior echo $? imprime el código de tee comando tee.

Salir del comando en Bash

El exit sale del shell con un estado de N Tiene la siguiente sintaxis:

exit N

Si N, el código de estado de salida es el del último comando ejecutado.

Cuando se utiliza en scripts de shell, el valor proporcionado como argumento para el exit se devuelve al shell como un código de salida.

Ejemplos de

El estado de salida de los comandos se puede utilizar en comandos condicionales como if. En el siguiente ejemplo, grep devolverá cero (lo que significa verdadero en los scripts de shell) si la "cadena de búsqueda" se encuentra en el filename:

if grep -q "search-string" filename then
 echo "String found."
 else
 echo "String not found."
 fi

Al ejecutar una lista de comandos separados por && (Y) o

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.