2013-12-27 2 views
1

Основная идея: У меня есть HTML-код, в котором есть только таблица.Как использовать переменную unix внутри HTML-файла

Есть такие вещи, как дата, время и результат некоторых запросов к базе данных. Я рассылаю эту деталь в этой таблице вручную для людей до сих пор.

У меня есть скрипт, который вычисляет все значения, необходимые в этой таблице. Но я не уверен, как добавить эти значения непосредственно в html-файл во время выполнения скрипта.

Не знаете, как это сделать, и возможно ли это.

P.S. Я отправляю почту с sendmail -t попытался отправить пробную HTML-страницу, и она работает нормально. Итак, реальная проблема заключается в том, как добавить значения переменных из скрипта unix в html-файл.

ответ

1

Вы, вероятно, должны предоставить владельцам мест в фиксированном html, а затем заменить их своим значением, используя «sed». , например. test.html:

<html> 
.... 
<div>The date is now %%DATE%%</div> 
</html> 

Тогда ваш скрипт заменит %% %% DATE:

sed "s/%%DATE%%/$(date)/" test.html 

Аналогично можно заменить среду varables:

export MYDATE="2013-12-27" 
sed "s/%%DATE%%/$MYDATE/" test.html 
+0

Пробовал и работал для меня !!! thnks – user3055262

+0

Пожалуйста, отметьте наилучший ответ, используя галочку. Благодарю. – geert3

0

Вы можете превратить ваш файл HTML в шаблон, добавляющий разметку, которая не будет конфликтовать с другим контентом, а затем заменить маркеры на переменные оболочки, например, с учетом HTML:

<html> 
    <head><title>{{title}}</title></head> 
    <body> 
     <table> 
      <tr><th>Name</th><th>Date</th></tr> 
      <tr><td>{{name1}}</td><td>{{date1}}</td></tr> 
      <tr><td>{{name2}}</td><td>{{date2}}</td></tr> 
     </table> 
    </body> 
</html> 

вы могли бы заменить значения, как это:

sed -e "s/{{title}}/Recent Stats/g" -e "s/{{date1}}/$(date)/g" -e "s/{{[^}]*}}/UNKNOWN/g" | sendmail 

Другим решением может быть построить HTML для отправки путем объединения части заголовка + данные часть + колонтитула часть, например:

{ cat header.html; ./script/that/dumps/data.sh; cat footer.html; } | sendmail 
+0

для замены значений, я попробовал sed так, как вы упомянули. Я хорош! thnks :) – user3055262

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