Coloque uma longa lista de endereços de e-mail em uma variável de macro de várias linhas

Coloque uma longa lista de endereços de e-mail em uma variável de macro de várias linhas

Tenho uma lista de 20 endereços de e-mail que estou tentando colocar em uma variável de macro como várias linhas em um script de shell. No formato "amplo" funciona bem e aparece como:

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

Quero algo como abaixo e estou tendo problemas com aspas, vírgulas e quebras de linha:

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

O uso será:

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

De acordo com a sintaxe os e-mails devem ser separados por vírgulas e apenas a lista inteira deve ser colocada entre aspas conforme mostrado no formato largo. No entanto, meu teste envia e-mails apenas para a linha superior. Agradeço a compreensão!

Responder1

Você quer algo assim:

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

Isso está usando um array, onde você estava tentando criar uma string.

informação relacionada