Comando exit

Comando exit

El comando exit es una instrucción integrada (builtin) fundamental en sistemas operativos tipo Unix, Linux y Windows (tanto en CMD como en PowerShell). Su función principal es finalizar la sesión actual de la terminal, cerrar la ventana del intérprete de comandos o salir de un script en ejecución, devolviendo el control al proceso padre o cerrando por completo la conexión activa.

Categoría Entorno de Terminal y Control de Sesión
Disponible en Linux / Unix / macOS / Windows (CMD y PowerShell) / Todos los shells modernos
Equivalente en Windows exit (CMD / PowerShell)
Sustituye a Cierre forzoso de ventanas de terminal mediante el ratón o la combinación de cierre de la interfaz gráfica.
¿Requiere permisos de administrador? No, cualquier usuario puede cerrar su propia sesión de terminal o salir de un subshell en cualquier momento.

¿Qué significa su nombre?

EXIT proviene directamente del verbo en latín e inglés exit, que significa "sale" o "salida". Su denominación es intuitiva y universal en informática, siendo empleada en casi todos los lenguajes de programación y shells de comandos para indicar la terminación de un bloque, bucle o programa.

Desde el punto de vista del sistema operativo, cuando se ejecuta exit, el proceso de la shell notifica al núcleo que ha finalizado su tarea y le transmite un código de estado de salida (exit code) que indica si todo terminó correctamente o si ocurrió algún error.

¿Para qué sirve?

El comando exit sirve principalmente para:

  • Cerrar de forma limpia y ordenada una sesión de terminal abierta localmente o una conexión remota vía SSH.
  • Salir de un subshell (una subterminal o entorno anidado) para regresar al intérprete de comandos principal.
  • Terminar la ejecución de un script de Bash de manera anticipada si se cumple una condición de error específica.
  • Devolver un código numérico de estado (0 para éxito, valores del 1 al 255 para distintos tipos de errores) a los procesos automatizados.

Sintaxis

exit [n]

Donde n es un valor numérico opcional (código de salida o exit status) que se desea devolver al sistema operativo. Si no se especifica ningún número, la shell devuelve por defecto el código del último comando ejecutado.

Opción / Parámetro Descripción
[n] Código numérico de salida opcional (por ejemplo, 0 para éxito o 1 para error).

Comandos más utilizados

Comando Descripción
exit Cierra la sesión actual de la terminal o la conexión SSH activa.
exit 0 Termina la sesión o script indicando que el proceso finalizó correctamente sin errores.
exit 1 Termina el proceso indicando que se ha producido un error durante la ejecución.

Equivalencia con otros sistemas

Acción Linux / Unix / macOS Windows (CMD / PowerShell)
Cerrar terminal / sesión exit exit

Ejemplos

Cerrar una conexión remota activa por SSH de forma segura

exit

Salir de un subshell o entorno de prueba anidado

exit

Finalizar un script de Bash explícitamente indicando un error

if [ ! -f "config.txt" ]; then
    echo "Error: Faltan archivos de configuración."
    exit 1
fi

Comprobar el código de salida devuelto tras cerrar un proceso

echo $?

Ejemplo de salida

Al ejecutar el comando exit en una terminal estándar, esta no genera texto por pantalla, sino que cierra de inmediato la ventana o finaliza la conexión SSH activa, regresando al escritorio o a la terminal principal desde la que se accedió.

¿Cómo interpretar la salida?

  • Cierre de la interfaz / Conexión finalizada: Es la respuesta natural del sistema, acompañada en ocasiones por un mensaje del cliente SSH indicando que la conexión se ha cerrado (Connection to [IP] closed).

Errores habituales

  • Confundir el uso de exit con comandos de limpieza visual como clear, lo que provoca que en lugar de limpiar la pantalla se cierre por completo la sesión de trabajo.
  • Olvidar que al cerrar con exit una sesión de SSH abierta dentro de otra terminal, solo se cierra la máquina remota, dejándote de nuevo en la máquina local (lo que a veces genera confusión sobre en qué sistema se está operando).

Conceptos relacionados

  • Códigos de estado de salida (Exit codes / $?)
  • Sesiones de terminal y procesos padre/hijo
  • Conexiones remotas SSH
  • Control de flujo en scripting
  • Subshells

Comandos relacionados

  • logout
  • kill
  • pkill
  • clear
  • history

Curiosidades

El comando exit está tan integrado en el comportamiento natural de los sistemas informáticos que la mayoría de los usuarios lo utilizan mecánicamente al terminar de trabajar en un servidor remoto. Además, en la programación de scripts de automatización, controlar los códigos de salida que devuelve exit es una práctica de oro para asegurar que los procesos robustos informen correctamente de sus fallos.


Prácticas propuestas

  1. Abre una nueva pestaña o ventana de terminal en tu sistema y ciérrala de forma limpia escribiendo el comando exit y pulsando Enter.
  2. Inicia una sesión de prueba ejecutando el nombre de una shell alternativa (por ejemplo, escribiendo bash o sh para entrar en un subshell) y utiliza exit para regresar al entorno original.
  3. Si trabajas habitualmente con conexiones remotas, conéctate a un servidor de prácticas mediante ssh y practica el cierre ordenado de la sesión empleando exit en lugar de cerrar la ventana de golpe.
  4. Escribe un pequeño script de prueba que compruebe la existencia de un fichero y utilice exit 1 para abortar la ejecución si no lo encuentra.
  5. Comprueba el código de estado devuelto por el último comando ejecutado en tu consola escribiendo echo $?.

Consejo: Adquiere el hábito de cerrar tus sesiones remotas de servidor escribiendo exit en lugar de cerrar la ventana de la aplicación por la fuerza; esto garantiza que el servidor cierre los sockets de red y libere los recursos asociados de forma limpia.