¿Se comporta `exec

¿Se comporta `exec
$ cat somefile 
sleep 100
$ exec < somefile 
$ sleep 100

¿ exec < somefileSe comporta igual source somefileexcepto que su proceso de invocación finaliza al finalizar?

Gracias.

Respuesta1

El efecto es similar, pero el comportamiento no es estrictamente el mismo.

exec < somefileconecta la entrada estándar a somefile, por lo que el shell comienza a leer desde ese archivo en lugar del terminal al que está conectado actualmente. (Bueno, al menos bash lo hace, Zsh se comporta de manera diferente). Efectivamente, esto da como resultado que el shell actual procese el contenido de somefile, como lo haría con source somefile. Una vez que se ha agotado somefile, el caparazón sale.

información relacionada