2016-09-29 9 views
0

Долгое время зритель впервые плакат.Передача переменной оболочки в файл, которую читает кошка

Я не знаю unix или shell вообще, я просто пытаюсь создать некоторые уведомления на основе SQL-запроса, который я написал для поддержки сайта Wordpress, который я создал.

Я хочу отправить html-адрес по моему запросу. Запрос возвращает что-то вроде;

+------------+---------------+----------+----------+ 
|display_name| user_email | value | type  | 
+------------+---------------+----------+----------+ 
| nick  | [email protected] | somedata | batch1 | 
| bob  | [email protected] | somedata | batch2 | 
+------------+---------------+----------+----------+ 

Вот мой код

mysql -uUSER -pPASS DB -N < /path/to/file/batch.sql | while read user_email display_name value type ; do 

emailtemplate="/path/to/file/email.html" 
( 
echo "From: [email protected]" 
echo "To: $user_email" 
echo "MIME-Version: 1.0" 
echo "Subject: Test" 
echo "Content-Type: text/html" 
cat $emailtemplate 
) | /usr/sbin/sendmail -t 

sleep 5 

done 

мне нужно изменить $ EmailTemplate на основе переменной $ типа, за исключением, что это все работает, кроме я не могу передать $ DISPLAY_NAME и $ значение переменных в html-файл, он просто отображается в виде $ display_name и $ value в письме.

Пожалуйста, помогите! Я знаю, что это что-то действительно незначительное.

ответ

0

Выяснил это. Кажется, переменные не распознаются, поэтому работает поиск/замена с уникальным значением.

вместо

cat $emailtemplate 

это работает, есть %% DISPLAY_NAME %% и %% %% значение в шаблоне, чтобы они могли быть заменить переменными

sed -e "s/%%display_name%%/$display_name/" -e "s/%%value%%/$value/" $emailtemplate 

 Смежные вопросы

  • Нет связанных вопросов^_^