porque o prompt de comando do Ubuntu não está solicitando depois de executar o comando mail?

0
uuencode text.txt | mail -s "hai" "[email protected]" < body.txt

depois de executar este comando, o terminal está em branco. Não está solicitando o próximo comando. Eu tenho que pressionar ctrl + z para retornar ao terminal.

Qual poderia ser o problema?

    
por Krishna Priya 19.10.2013 / 16:35

1 resposta

1

Bem, você não faz assim ;-) Boa tentativa!

Você está usando o pipe "|" para gravar a saída do seu comando uuencode para o canal de entrada (também conhecido como stdin, entrada padrão) do comando mail. Você também está usando o redirecionamento de shell "<" para gravar o conteúdo do arquivo body.txt no canal de entrada do seu comando de email.

Isso é ambíguo. Não tenho certeza agora, o que tem precedência, ou como o shell lida com a situação. Você provavelmente acaba com um dos programas pedindo informações.

Melhor esclarecer a casca, o que fazer, em que ordem. Ou seja escrevendo:

(cat body.txt; uuencode text.txt) |mail -s "hai" "[email protected]"

Isso executa cat (a impressora de arquivos) e uuencode de uma só vez (em um subshell para ser preciso, devido ao parêntese) e canaliza a saída comum para o programa de e-mail

    
por Paul Hänsch 19.10.2013 / 16:58