
$ cat somefile
sleep 100
$ exec < somefile
$ sleep 100
¿ exec < somefile
Se comporta igual source somefile
excepto que su proceso de invocación finaliza al finalizar?
Gracias.
Respuesta1
El efecto es similar, pero el comportamiento no es estrictamente el mismo.
exec < somefile
conecta 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.