Quelle est la différence entre mail et mailx?
J'essaie de résoudre un problème dans lequel je peux envoyer un courrier du serveur A avec cette echo $MESSAGE | mail -s "$SUBJECT" -r $FROM $RECIPIENTS
commande mais exécutant la même commande du serveur B me jette cette erreur (les deux serveurs sont rhel)
mail: invalid option -- r
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
[-- sendmail-options ...]
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
Maintenant ... Passez des morceaux de courrier à TY pour comprendre ce qui se passe, man mail
me donne ceci:
Dans le serveur A
MAILX(1) User Commands MAILX(1)
NAME
mailx - send and receive Internet mail
SYNOPSIS
mailx [-BDdEFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr] [-r from-addr] [-h Hops]
[-A account] [-S variable[=value]] to-addr . . .
mailx [-BDdeEHiInNRv~] [-T name] [-A account] [-S variable[=value]] -f [name]
mailx [-BDdeEinNRv~] [-A account] [-S variable[=value]] [-u user]
Mais dans le serveur b
MAIL(1) BSD General Commands Manual MAIL(1)
NAME
mail - send and receive mail
SYNOPSIS
mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr... [-- sendmail-options...]
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
Maintenant ... si j'essaie man mailx
dans le serveur B, je reçois:
MAILX(P) POSIX Programmerâs Manual MAILX(P)
PROLOG
This manual page is part of the POSIX Programmerâs Manual. The Linux implementation of this interface may differ
(consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be imple-
mented on Linux.
NAME
mailx - process messages
SYNOPSIS
Send Mode
mailx [-s subject] address...
Receive Mode
mailx -e
mailx [-HiNn][-F][-u user]
mailx -f[-HiNn][-F][file]
Server B a une version différente de courrier que serveur A? MailX et Mail sont des choses différentes? J'aimerais utiliser l'option -r que j'utilise dans le serveur A mais dans le serveur B et je ne sais pas vraiment ce qui se passe.
Voici les antécédents déroutants de courrier, ongle, mailx .
Brièvement, mail
est le programme plus ancien, mailx
(anciennement nail
dans certaines implémentations) est une version plus récente, avec une interface étendue surtout-mais non totalement compatible.
mailx
est toujours assez ancien, créé autour de 1986 et actualisé dans le cadre de POSIX en 1992. Il existe plusieurs implémentations (même dans les Linux modernes), et certaines fournissent des extensions à la norme.
Les -r
L'option est une telle extension. Selon votre distribution Linux, et le package de messagerie que vous avez installé, vous pourriez ou non cette option. Voir par exemple ici .
Si vous voulez écrire des scripts portables, il vaut mieux ne pas compter sur elle.