参照アドレス、件名行、および入力ファイルを使用してコマンドラインからアドレスに電子メールを送信するために使用できる機能を含む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