utilisez «mail» pour lire les e-mails depuis la ligne de commande

11

Je sais que nous pouvons utiliser la mailcommande dans le terminal pour commencer à utiliser le mailprogramme en mode interactif.

Cependant, je veux lire l'e-mail à l'aide de la mailcommande de manière non interactive.

Existe-t-il une commande comme

$ mail -optionToReadMail -mailNumber 1;

qui affichera le contenu des e-mails dans stdout?

sps
la source

Réponses:

17

Pour imprimer le premier message électronique dans votre boîte aux lettres par défaut, utilisez:

echo p | mail

mailn'est interactif que lorsque stdin est un terminal. Parce qu'il mailobtient son stdin à partir d'un tuyau, il n'est pas interactif. La pcommande (print) lui indique d'imprimer le (premier) message par défaut.

Pour plus d'options, vous pouvez trouver cela man mailtrès utile.

John1024
la source
Existe-t-il un moyen de le faire sans utiliser de tuyau ??
Sps
1
@sps Bien sûr. Utilisez un ici-chaîne: mail <<<p.
John1024
Existe-t-il un moyen sans utiliser le <personnage?
Sps
2
Pour m'aider à répondre à cette question, veuillez expliquer ce que vous essayez réellement d'accomplir. Pourquoi les tuyaux sont-ils <indésirables?
John1024
2
@sps À l'avenir, mettez toutes vos conditions dans votre question dès le départ, au lieu de les ajouter au coup par coup après avoir répondu à la question.
chepner