여러 행 매크로 변수에 긴 이메일 주소 목록을 넣습니다.

여러 행 매크로 변수에 긴 이메일 주소 목록을 넣습니다.

쉘 스크립트의 여러 행으로 매크로 변수에 넣으려고 하는 20개의 전자 메일 주소 목록이 있습니다. "와이드" 형식에서는 잘 작동하며 다음과 같이 나타납니다.

to_list="[email protected],[email protected],[email protected],[email protected]"

나는 아래와 같은 것을 원하지만 따옴표, 쉼표 및 줄 바꿈에 문제가 있습니다.

to_list="[email protected],[email protected], \
         .
         .
         .
         [email protected],[email protected]"

사용법은 다음과 같습니다:

mail -s "Subject text here." $to_list < body_text.txt

구문에 따라 전자 메일은 쉼표로 구분되어야 하며 넓은 형식에 표시된 대로 전체 목록만 따옴표로 묶어야 합니다. 그러나 내 테스트에서는 맨 위 행에만 전자 메일을 보냅니다. 통찰력에 감사드립니다!

답변1

당신은 다음과 같은 것을 원합니다 :

to_list=(
        "[email protected],"
        "[email protected],"
        "[email protected],"
        "[email protected]"
        )
mail -s "Subject text here." "${to_list[@]}" < body_text.txt

그것은 문자열을 생성하려는 배열을 사용하는 것입니다.

관련 정보