我正在通过将数据库中的某些行读入名为EMAIL_DESC的多行shell变量来构建电子邮件:
EMAIL_DESC=`run "select text from ETL.MAIL_TEXT where ID=1 order by id, text_order"`
不幸的是,我在$ EMAIL_DESC中有变量和命令(date
),但我不能以任何方式替换它们。
echo "$EMAIL_DESC"
Please be aware that all user tables and views on the $SERVER_DESC
Ended = `date`.
有什么想法吗?
答案 0 :(得分:0)
问题不是很清楚。但无论我能理解什么,我认为你在这里寻找邪恶的评价。考虑一下:
x='Foo
Bar
$HOME
Baz
$SHELL'
echo $x
eval echo $x
Foo Bar $HOME Baz $SHELL
Foo Bar /home/alex Baz /bin/bash
答案 1 :(得分:0)
我找到了解决方案。
在数据库的每一行的末尾,我必须添加“\\ n”(换行符),我必须更改eval以接受来自echo(-e)的额外参数:
eval "echo -e "${EMAIL_DESC}" "
再次感谢 亚历