Saltar al contenido

comando exec en Linux con ejemplos

septiembre 30, 2021
gfg 200x200 min

ejecutivo El comando en Linux se usa para ejecutar un comando desde el propio bash. Este comando no crea un nuevo proceso, simplemente reemplaza el bash con el comando a ejecutar. Si el comando exec tiene éxito, no regresa al proceso de llamada.

Sintaxis:

exec [-cl] [-a name] [command [arguments]] [redirection ...]

Opciones:

  • C: Se utiliza para ejecutar el comando con un entorno vacío.
  • un nombre: Se utiliza para pasar un nombre como argumento cero del comando.
  • l: Se utiliza para pasar el guión como argumento cero del comando.

Nota: ejecutivo El comando no crea un nuevo proceso. Cuando ejecutamos el comando exec desde la terminal, el proceso terminal en curso se reemplaza por el comando que se proporciona como argumento para el comando exec.

El comando exec se puede utilizar en dos modos:

  • Exec con un comando como argumento: En el primer modo, el ejecutivo intenta ejecutarlo como un comando pasando los argumentos restantes, si los hay, a ese comando y administrando las redirecciones, si las hay.

    Ejemplo 1:

    exec 1

    Ejemplo 2:

    El comando exec busca la ruta mencionada en el $ RUTA variable para encontrar un comando a ejecutar. Si no se encuentra el comando, el comando exec y el shell salen con un error.

  • Ejecutiva sin comando: Si no se proporciona ningún comando, las redirecciones se pueden utilizar para modificar el entorno de shell actual. Esto es útil ya que nos permite cambiar los descriptores de archivo del shell según nuestro deseo. El proceso continúa incluso después del comando exec, a diferencia del caso anterior, pero ahora la entrada, la salida y el error estándar se modifican de acuerdo con las redirecciones.

    Ejemplo:

    Aquí, el comando exec cambia el estándar del shell al archivo tmp y, por lo tanto, todos los comandos ejecutados después del comando exec escriben sus resultados en ese archivo. Esta es una de las formas más comunes de usar exec sin ningún comando.

close