El comando exec
en Bash se utiliza para ejecutar un comando reemplazando el proceso actual de la shell. Esto significa que, al usar exec
, el proceso de la shell que ejecuta el comando se reemplaza por el nuevo comando, y no se regresa a la shell original después de que el comando finaliza.
La sintaxis básica del comando exec
es la siguiente:
exec [opciones] [comando] [argumentos]
-a nombre
: Permite especificar un nombre diferente para el comando que se está ejecutando.-l
: Inicia el nuevo comando como un “login shell”, lo que significa que se ejecutan los scripts de inicio de la shell.-c
: Permite ejecutar un comando en un contexto diferente, aunque esta opción no es comúnmente utilizada.exec /bin/bash
Este comando reemplaza la shell actual con una nueva instancia de Bash.
exec ./mi_script.sh
Aquí, el script mi_script.sh
se ejecuta y reemplaza la shell actual.
exec -a nuevo_nombre /bin/ls
Este comando ejecuta ls
pero con el nombre de proceso nuevo_nombre
.
exec -l /bin/bash
Esto inicia una nueva instancia de Bash como un login shell, cargando los scripts de inicio correspondientes.
exec
cuando necesites que un script o comando reemplace la shell actual, especialmente en scripts de inicio.exec
, ya que no podrás volver a la shell original después de que el comando se ejecute.exec
.