bash中mysql查询中的变量未由echo上的本地bash变量填充

bash中mysql查询中的变量未由echo上的本地bash变量填充,mysql,bash,Mysql,Bash,我想通过bash从mysql查询。mysql字段中有一个文本“$variable”。(这完全是一个html模板) 在Bash脚本中可以找到: variable=“模板文本” test=/usr/bin/mysql-执行“使用数据库;从id为'1'的表中选择de;” 如果我这样做 回声试验 我只得到$variable,而不是“模板文本” 我可以更改什么以获得预期值?有什么想法吗 有关信息: MYSQL DB字段中有一个完整的html网页,其中包含不同的$variables。过去,我通过将完整的ht

我想通过bash从mysql查询。mysql字段中有一个文本“$variable”。(这完全是一个html模板)

在Bash脚本中可以找到:

variable=“模板文本”

test=
/usr/bin/mysql-执行“使用数据库;从id为'1'的表中选择de
;”

如果我这样做

回声试验

我只得到$variable,而不是“模板文本”

我可以更改什么以获得预期值?有什么想法吗

有关信息: MYSQL DB字段中有一个完整的html网页,其中包含不同的$variables。过去,我通过将完整的html网页作为htmlvar=“…$variable”插入bash脚本来解决这个问题。这很有效,但由于大约有5个web模板,所以不舒服。所以我想,如果我把HTML页面放到数据库中,我可以把它读入一个变量,然后像过去一样,我会被bash脚本中的局部变量填充。但是现在我只得到DB字段的纯文本,并且没有设置$variable


谢谢大家!

您可能正在寻找变量扩展:

$ variable="Hello there"
$ test=variable
$ echo ${!test}
>> Hello there
请注意,
test=variable
没有美元符号(不是
test=$variable
)。如果您有美元符号,并且也希望使用美元符号,则可以执行双回音:


echo`echo$test`

我不确定我是否理解了您的问题,但如果您想打印数据库结果,您可以执行以下操作:

$mysql-u root-p-e“从db.table中选择de,其中id为'1'

但如果要打印变量值,可以执行以下操作:

$echo“$variable”


无论如何,我相信您不能根据您的代码通过命令“echo$test;”打印“模板文本”。

在DB字段中是一个包含一些$variables的完整HTML网页。过去,我将完整的HTML网页作为htmlvar=“…”放在bashscript中。这也很好。htmlvar中的$variables已填充。但是如果我从mysql中获得值,它就不会被填充。我这样做是因为它更舒适。据我所知,您将从DB获得纯文本,但不是动态的。如果您想获取一些关于它的特殊信息,然后将其分配给一个变量,您可以使用一些grep或sed命令来处理查询,以获得您想要的信息并将其分配给一个变量。如果我正确理解你的情况,你以后可以用它。我从未使用过mySql查询,但使用过Cassandra,这几乎是一样的。