use 'mail' para leer correos electrónicos desde la línea de comandos


11

Sé que podemos usar el mailcomando en la terminal para comenzar a usar el mailprograma en modo interactivo.

Sin embargo, quiero leer el correo electrónico usando el mailcomando de forma no interactiva.

¿Hay un comando como

$ mail -optionToReadMail -mailNumber 1;

¿Cuál mostrará el contenido del correo electrónico en stdout?

Respuestas:


17

Para imprimir el primer mensaje de correo en su buzón predeterminado, use:

echo p | mail

mailsolo es interactivo cuando stdin es una terminal. Debido a que mailobtiene su stdin de una tubería, no es interactivo. El pcomando (imprimir) le dice que imprima el mensaje predeterminado (primero).

Para obtener más opciones, puede encontrar que man mailes muy útil.


¿Hay alguna manera de hacerlo sin usar tubería?
sps

1
@sps Claro. Utilice una cadena multilínea: mail <<<p.
John1024

¿Hay alguna manera sin usar el <personaje?
sps

2
Para ayudarme a responder eso, explique lo que realmente está tratando de lograr. ¿Por qué son tuberías y <no deseados?
John1024

2
@sps En el futuro, ponga todas sus condiciones en su pregunta por adelantado, en lugar de agregarlas poco a poco después de que la pregunta haya sido respondida.
chepner
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.