Las shells pueden estar anidadas: una terminal gráfica inicia una shell, una conexión SSH inicia una shell remota y una shell puede iniciar otra. Al salir de una, normalmente se devuelve el control a aquello que inició la shell actual.
Línea de Comandos · Lección 19
exit
Aprende a salir de la shell actual y a elegir el estado que devuelve a quien la invocó.
Salida de la shell actual
La forma más común de terminar una sesión de shell es con el comando exit. Cuando escribes exit y presionas Enter, el proceso actual del shell termina. Este comando funciona en prácticamente cualquier entorno de shell.
$ exit
Si esa shell es el proceso principal de una pestaña de terminal gráfica, la pestaña puede cerrarse según la configuración de la terminal. En una sesión SSH, salir de la shell remota normalmente te devuelve a la shell local. Si iniciaste una shell anidada, exit vuelve a la shell padre.
Has iniciado Bash dentro de otra shell y quieres volver a la shell padre. ¿Qué orden debes ejecutar en la sesión anidada de Bash?
Devolución de un estado de salida
El comando exit también puede devolver un código de estado. Un estado de 0 usualmente significa éxito, y un estado distinto de cero generalmente indica un error o una condición especial.
$ exit 0
Por convención, 0 significa éxito y un valor distinto de cero representa un fallo u otra condición definida por el programa. Si Bash no recibe un argumento numérico, sale con el estado de la última orden ejecutada antes de exit.
¿Qué orden termina la shell actual e informa explícitamente de un resultado satisfactorio a quien la invocó?
En Bash, ¿qué estado devuelve exit cuando no se proporciona ningún número?
Uso de logout en una shell de inicio de sesión
$ logout
En una shell de Bash que no sea de inicio de sesión, logout informa de que no se trata de una shell de inicio; utiliza exit en su lugar.
¿Qué orden integrada de Bash está pensada específicamente para salir de una shell de inicio de sesión?
Uso de Ctrl+D o cierre de una terminal
En un prompt interactivo vacío, pulsar Ctrl+D normalmente proporciona el carácter de fin de archivo de la terminal. Bash suele interpretar esta condición como una solicitud para salir. No es una señal, y opciones de la shell como ignoreeof pueden cambiar el comportamiento.
Cerrar una ventana de terminal gráfica solicita a la aplicación que cierre sus procesos y puede afectar a los trabajos en ejecución. Cuando resulte práctico, prefiere una salida ordenada con exit y comprueba si hay trabajo activo antes de cerrar la sesión.
Lección completada
Has completado exit
Ahora puedes salir de la shell actual y comunicar su estado de finalización.
Utilizar
exitpara devolver el control a quien invocó la shell actual.Proporcionar
0para indicar éxito u otro estado distinto de cero con un significado definido.Comprender el estado que utiliza un
exitsin argumentos.Utilizar
logoutúnicamente con una shell de inicio de sesión.Reconocer
Ctrl+Dcomo una entrada de fin de archivo, no como una señal.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita