используйте 'mail' для чтения почты из командной строки


11

Я знаю, что мы можем использовать mailкоманду в терминале, чтобы начать использовать mailпрограмму в интерактивном режиме.

Тем не менее, я хочу читать электронную почту с помощью mailкоманды не в интерактивном режиме.

Есть ли такая команда

$ mail -optionToReadMail -mailNumber 1;

который будет отображать содержимое электронной почты в stdout?

Ответы:


17

Чтобы напечатать первое почтовое сообщение в вашем почтовом ящике по умолчанию, используйте:

echo p | mail

mailявляется интерактивным, только когда stdin является терминалом. Поскольку он mailполучает свой стандартный поток из канала, он не является интерактивным. Команда p(print) говорит ему распечатать сообщение по умолчанию (первое).

Для большего количества вариантов вы можете найти, что man mailэто очень полезно.


Есть ли способ сделать это без использования трубы?
Спс

1
@SPS Конечно. Используйте здесь-строку: mail <<<p.
John1024

Есть ли способ без использования <персонажа?
Спс

2
Чтобы помочь мне ответить на этот вопрос, пожалуйста, объясните, что вы на самом деле пытаетесь достичь. Почему трубы и <нежелательны?
John1024

2
@sps В будущем поставьте все ваши условия в вопросе заранее, вместо того, чтобы добавлять их по частям после того, как на вопрос дан ответ.
chepner
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.