Здравствуйте!
Помогите со скриптом.
#! /bin/bash
to=$1
subject=$2
body=$3
ack=`echo "select message FROM table WHERE id='$body'" | mysql -uuser -ppassword -Dbase`
cat <<EOF | mail -s "$subject" "$to"
$ack
EOF
В таком виде все работает, почта отсылается, но при этом в переменной body=$3 может быть несколько данных, разделенных чем угодно (могу сам выставить ручками, например data1;data2;data3).
Как можно разделить эти данные? Чтобы в ack уходило, например, первое значение body - data1. А последующие значения можно было вставить в вывод mail?
Наверное, чтобы было понятнее, то данный скрипт для заббикса, для отправки уведомлений.
Заббикс настроен на отправку почты через внешний скрипт, представленный выше. Из документации к заббиксу:
"Когда скрипт оповещения выполняется ему передается через командную строку 3 ($1, $2 и $3 соответственно): Кому Тема Сообщение"
Так вот, в $3 передаются данные типа: {EVENT.ID};{INVENTORY.LOCATION1};{TRIGGER.STATUS};{TRIGGER.SEVERITY};{EVENT.DATE};{EVENT.TIME}
Первый из списка - {EVENT.ID} как раз таки и нужен для mysql-запроса. Остальное требуется передать в теле письма.