함수를 사용하여 이메일을 보내는 스크립트

함수를 사용하여 이메일을 보내는 스크립트

참조 주소, 제목 줄 및 입력 파일을 사용하여 명령줄에서 주소로 이메일을 보내는 데 사용할 수 있는 기능이 포함된 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

관련 정보