
$ cat somefile
sleep 100
$ exec < somefile
$ sleep 100
Comporta exec < somefile
-se da mesma forma, source somefile
exceto 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 < somefile
conecta 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.