O 'exec somefile' se comporta da mesma forma que 'source somefile'

1
$ cat somefile 
sleep 100
$ exec < somefile 
$ sleep 100

O exec < somefile se comporta da mesma forma que source somefile , exceto que seu processo de chamada termina quando ele é concluído?

Obrigado.

    
por Tim 01.06.2018 / 15:04

1 resposta

2

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

exec < somefile conecta a entrada padrão a somefile , portanto, o shell começa 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.) Isso resulta efetivamente no shell atual processando o conteúdo de somefile , como faria com source somefile . Depois de esgotar somefile , o shell sai.

    
por 01.06.2018 / 15:12