メールとmailxの違いは何ですか?
このコマンドを使用してサーバーAからメールを送信できる問題を解決しようとしていますが、echo $MESSAGE | mail -s "$SUBJECT" -r $FROM $RECIPIENTS
サーバーBで同じコマンドを実行するとこのエラーが発生します(両方のサーバーが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]
これで、何が起こっているのかを確認するために、メールのマニュアルページに移動すると、man mail
次の情報が得られます。
サーバー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]
しかし、サーバー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]
今... Server BIを試してみると、次のような結果がman mailx
得られます。
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]
サーバーBのメールバージョンがサーバーAのメールバージョンと異なりますか? MailxとMailは違いますか?サーバーAで使用する-rオプションを使用したいのですが、サーバーBでは何が起こっているのかわかりません。
ベストアンサー1
この混乱した歴史を見てくださいメール、爪、メールX。
つまり、mail
以前のプログラムmailx
(以前nail
の一部の実装)は、ほとんど拡張されているが完全に互換性がないインターフェイスを持つ最新バージョンに置き換えられます。
mailx
それでもかなり古く、1986年頃に作成され、1992年にPOSIXの一部として標準化されました。いくつかの実装があり(現代のLinuxでも)、そのいくつかは標準の拡張を提供します。
この-r
オプションはそのような拡張の一つです。 Linuxディストリビューションとインストールしたメールパッケージによっては、このオプションがある場合とない場合があります。たとえば、参照してください。ここ。
移植可能なスクリプトを作成するには、それに依存しない方が最善です。