exec
esegue un comando specificato, sostituendo il processo corrente anziché avviare un nuovo sottoprocesso.
Se si digita
bash -l
al prompt della shell, che richiamerà un nuovo processo shell (il -l
rende una shell di login). Se esci da quel processo di shell, tornerai alla tua shell originale.
Digitando
exec bash -l
significa che il nuovo processo shell sostituisce il processo di shell corrente. Probabilmente è un po 'meno dispendioso in termini di risorse.
Il motivo per farlo è probabilmente il modo in cui la nuova shell imposta il proprio ambiente (leggendo il proprio .bashrc
, .bash_profile
, ecc.).
Vedere la documentazione bash per ulteriori informazioni:
(Si dovrebbe essere in grado di leggere il manuale sul proprio sistema digitando info bash
.)
fonte
2014-11-05 00:19:47
Grazie! Bella risposta – matiascelasco