use 'mail' para ler emails da linha de comando

11

Eu sei que podemos usar o mailcomando no terminal para começar a usar o mailprograma no modo interativo.

No entanto, quero ler o email usando o mailcomando de maneira não interativa.

Existe um comando como

$ mail -optionToReadMail -mailNumber 1;

qual exibirá o conteúdo do email no stdout?

sps
fonte

Respostas:

17

Para imprimir a primeira mensagem de correio na sua caixa de correio padrão, use:

echo p | mail

mailsó é interativo quando stdin é um terminal. Como mailobtém o stdin de um pipe, ele não é interativo. O pcomando (imprimir) diz para imprimir a mensagem padrão (primeira).

Para mais opções, você pode achar isso man mailmuito útil.

John1024
fonte
Existe uma maneira de fazê-lo sem usar cachimbo?
sps 29/10
1
@sps Claro. Use um aqui-string: mail <<<p.
John1024
Existe uma maneira sem usar o <personagem?
sps 29/10
2
Para me ajudar a responder, explique o que você está realmente tentando realizar. Por que tubos e <indesejados?
John1024
2
@sps No futuro, coloque todas as suas condições na sua pergunta antecipadamente, em vez de adicioná-las aos poucos depois que a pergunta for respondida.
Chepner # 29/15