関数を使用して電子メールを送信するスクリプト

関数を使用して電子メールを送信するスクリプト

参照アドレス、件名行、および入力ファイルを使用してコマンドラインからアドレスに電子メールを送信するために使用できる機能を含むbashスクリプトを作成しようとしています。たとえば、関数名が「m」の場合、入力するコマンドは次のようになります。

m [email protected] [email protected] SubjectLine TextFile.txt

viでこれまでに行ったことは次のとおりです。変数を誤って宣言したと確信している可能性があります。私はこれにとても新しいです。

m()
{
  mail -s="$1" -t="$2" -s="$3" #I am still unclear about positional parameters
}

ベストアンサー1

#!/bin/bash
m() {
    to_addr="$1"
    cc_addr="$2"
    subject="$3"
    body="$4"
    cat "$body" | mail -s "$subject" -c "$cc_addr" "$to_addr"
}

if [[ "$#" -eq 4 ]]; then
    m "$1" "$2" "$3" "$4"
else
    echo "Incorrect number of paramaters.  Aborting."
    echo "Example syntax:  $0 [email protected] [email protected] "Message Subject" /path/to/messagebody.txt"
    exit 1
fi

おすすめ記事