Я застрял на чем-то, что, несомненно, имеет простое решение. Я использую почту от GNU mailutils, чтобы периодически отправлять файл журнала соответствующим людям.Расширение переменной Bash
mail -s "The Subject" [email protected] <<< "Message body"
Теперь я хочу, чтобы включить это в сценарий, который выполняет кучу задач, но я застрять с расширением и котировки.
Это то, что я пытаюсь:
subject="The Subject"
sender=From:Sender\<[email protected]\>
[email protected],[email protected],[email protected]
report="mail -s "$subject" -a $sender $recipient_list"
...
$report <<< "A log message from a section of script"
...
$report <<< "A different log message"
Проблема заключается в $ субъекта.
Вызов mail -s "$subject" -a $sender $recipient_list <<< "My Message"
работает красиво, но обертывание его в переменную, как я уже делал выше, заканчивает отправку электронной почты с получением только первого слова «Тема», а не всей строки.
Я собираюсь пойти proper function route, но теперь мне любопытно. Я уверен, что какой-то трюк с выходом/расширением сделает это, но я не смог найти правильный (или рассуждать).
Спасибо!
Обязательная ссылка на http://mywiki.wooledge.org/BashFAQ/050. – chepner
@chepner спасибо, но уже в моем первоначальном вопросе – dabell
Вы читаете страницу? Это объясняет, почему ваша попытка вставить кавычки в значение переменной не выполняется. – chepner