2

mailコマンドを呼び出すと、スクリプトがエラーなしで中断されることがわかりました。スクリプトを閉じるには、ctrl-cを実行するか、プロセスIDに対してkillコマンドを発行する必要があります。

スクリプトの関連セクションは次のとおりです。

EMAIL_TO="my@email.com"

if [ -f /www/archives/pdf/pdf_201207021048.tar ]; then
    echo "file exists"
else
    echo "file does not exist"
fi

echo "sending mail next..."

mail -s "pdfbackup" "$EMAIL_TO"

echo "mail sent?"

これを実行すると、「次のメールを送信しています...」というテキストが表示されますが、それ以上は表示されません。プロンプトに戻ることはありません。

スクリプトがps-ax|でまだメモリ内にあることがわかります。grepmyscript.sh。

件名とメールの前後に引用符を使用してみましたが、使用していません。どちらの方法でも同じ結果が得られます。

私は何が間違っているのですか?

4

1 に答える 1

6

差出人man mail

メール
の送信1人または複数の人にメッセージを送信するために、メールの送信先の人の名前である引数を使用してメールを呼び出すことができます。次に、メッセージを入力し、その後に行の先頭にaを入力する必要があります。以下の「メールへの返信またはメールの発信」セクションでは、手紙の作成に役立つメールのいくつかの機能について説明します。

メッセージの本文を期待しています。<C-d>改行に使用し、メッセージを空白行とで終了します<C-d>。または、ボディとパイプをコマンドに指定することもできます...

echo "This is the body" | mail -s "Subject" "recipient@example.com"

また

mail -s "Subject" "recipient@example.com" <<< "This is the body"

または、ファイルから本文を読み取ることができます。

mail -s "Subject" "recipient@example.com" < body_in_file.txt
于 2012-07-02T17:48:45.200 に答える