2017-06-03 7 views
1

最後に実行したコマンドが正常に実行されたことを確認するコードを書いて、その出力をそのメールで送信します。UNIXシェルスクリプトで出力を送信中にmailxを発行する

#!/bin/ksh 

SCHEDULER ID="abc123" 
RUNNUM_INFO="1212" 
DATE=`date '+%Y%m%d'` 
FILE="OX_{DATE}.txt" 

/usr/bin/ftp -n 93.179.136.9 << !EOF! 
user abc passwd 
cd "/0009/Codici Migrazione" 
bin 
get $FILE 
bye 
!EOF! 


if [ $? -eq 0 ]; 
then 
echo "Activity completed. \n 
SCHEDULER ID : $SCHEDULE_ID \n BILL_RUN_NUM: $BILL_RUNNUM_INFO \n DATE: $DATE" | mailx -r "[email protected]" -s "Activity Completed - $DATE" 
exit 0 
fi 

しかし、スクリプトを実行する上で、私はエラーを取得しています:

The flags you gave are used only when sending mail. 

答えて

1

てみ先/への追加:また

mailx -r "[email protected]" -s "Activity Completed - $DATE" [email protected] 

ます:電子メールアドレス、例えばあなたは夫婦の問題持っているとして、あなたの変数を確認したい:

1 - スケジューラID =「ABC123」=>ない有効な変数を。それは後で$ SCHEDULE_ID(有効な変数名だがスペルが異なる)を使って参照しようとしているようです。

2 - RUNNUM_INFO =>後で$ BILL_RUNNUM_INFO(有効な変数

+1

ありがとう:-)宛先電子メールアドレスを追加していないので、変数名を修正しました。 – User123

+0

宛先に複数の電子メールIDを付けることはできますか?以下のようにします:mailx -r "[email protected]" -s "活動完了 - $ DATE" [email protected] [email protected] [email protected]それは動作しますか? – User123

+0

はい、複数の受信者/送信先を指定できます。あなたはそれを試してみましたか? (「疑わしいときは試してみてください!」);私はmailxがスペースやコンマで区切られたアドレスを受け入れると信じています(現時点ではunixコマンドラインではありません) – markp

関連する問題