Bash exec¶
exec [-cl] [-a nombre] [comando [argumentos]]
Si se especifica comando, se remplaza el comando con dicho programa. No se crea un nuevo proceso.
Los argumentos se convierten en argumentos del comando.
Si se usa la opción -l, el shell coloca un dash al comienzo del argumento cero pasado al comando. Esto es lo que hace login.
La opción -c provoca que el comando sea ejecutado en un entorno vacío.
Si se incluye -a, el shell pasa el argumento cero al comando ejecutado.
Si el comando no puede ser ejecutado por alguna razón, un shell no interactivo terminará, a menos que la opción execfail esté habilitada en cuyo caso se devolverá el fallo. Un shell interactivo devolverá el fallo si el archivo no puede ser ejecutado.
Si no se especifica comando, cualquier redirección toma efecto en el shell actual y se devuelve 0 en el código de salida. Si hay algún error de redirección, el estado devuelto es 1.
Un ejemplo, simple, un shell script utilizado como alias (mucho más poderoso que un alias ;) ).
~/bin/murxvt
#!/bin/bash exec urxvt -fg green -bg black -pe tabbed