Verwenden Sie 'mail', um E-Mails von der Befehlszeile zu lesen

10

Ich weiß, dass wir den mailBefehl im Terminal verwenden können, um das mailProgramm im interaktiven Modus zu verwenden.

Ich möchte die E-Mail jedoch mailnicht interaktiv mit dem Befehl lesen .

Gibt es einen Befehl wie

$ mail -optionToReadMail -mailNumber 1;

Welches wird den Inhalt der E-Mail in stdout anzeigen?

sps
quelle

Antworten:

16

Verwenden Sie zum Drucken der ersten E-Mail-Nachricht in Ihrem Standardpostfach:

echo p | mail

mailist nur interaktiv, wenn stdin ein Terminal ist. Da es mailseinen Standard aus einer Pipe bezieht, ist es nicht interaktiv. Der pBefehl (Drucken) weist ihn an, die Standardnachricht (erste Nachricht) zu drucken.

Für weitere Optionen ist dies möglicherweise man mailsehr hilfreich.

John1024
quelle
Gibt es eine Möglichkeit, dies ohne Verwendung eines Rohrs zu tun?
sps
1
@sps Sicher. Verwenden Sie eine Here-Zeichenfolge : mail <<<p.
John1024
Gibt es einen Weg ohne den <Charakter zu benutzen ?
sps
2
Um mir bei der Beantwortung dieser Frage zu helfen, erklären Sie bitte, was Sie tatsächlich erreichen möchten. Warum sind Rohre und <unerwünscht?
John1024
2
@sps Stellen Sie in Zukunft alle Ihre Bedingungen in Ihre Frage ein, anstatt sie nach Beantwortung der Frage stückweise hinzuzufügen.
Chepner