Поместить длинный список адресов электронной почты в многострочную макропеременную

Поместить длинный список адресов электронной почты в многострочную макропеременную

У меня есть список из 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

То есть с помощью массива вы пытаетесь создать строку.

Связанный контент