Il comando exec
in Bash sostituisce il processo corrente con un nuovo comando. Questo significa che, una volta eseguito, il processo originale non esiste più e non ritorna al prompt dei comandi. È utile per ottimizzare l’uso della memoria e per eseguire script o comandi in un contesto specifico.
La sintassi di base del comando exec
è la seguente:
exec [opzioni] [comando] [argomenti]
-a
: Specifica un nome alternativo per il comando da eseguire.-l
: Esegue il comando come se fosse un login shell.-c
: Ignora le variabili di ambiente esistenti e ne crea di nuove.Ecco alcuni esempi pratici di utilizzo del comando exec
:
exec bash
exec ls -l
exec -a my_custom_name /path/to/program
exec -l /path/to/script.sh
exec
quando vuoi risparmiare risorse di sistema, poiché non crea un nuovo processo.exec
, non potrai tornare al prompt originale, quindi assicurati di voler davvero sostituire il processo corrente.exec
in script per garantire che il processo principale sia quello desiderato, senza lasciare processi zombie.