`exec

`exec
$ cat somefile 
sleep 100
$ exec < somefile 
$ sleep 100

Comporta exec < somefile-se da mesma forma, source somefileexceto que seu processo de invocação termina após sua conclusão?

Obrigado.

Responder1

O efeito é semelhante, mas o comportamento não é exatamente o mesmo.

exec < somefileconecta a entrada padrão a somefile, para que o shell comece a ler esse arquivo em vez do terminal ao qual está conectado no momento. (Bem, pelo menos o bash faz, o Zsh se comporta de maneira diferente.) Efetivamente, isso resulta no shell atual processando o conteúdo de somefile, como faria com source somefile. Depois de esgotado somefile, o shell sai.

informação relacionada