bash中mysql查询中的变量未由echo上的本地bash变量填充
我想通过bash从mysql查询。mysql字段中有一个文本“$variable”。(这完全是一个html模板) 在Bash脚本中可以找到: variable=“模板文本” test=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
/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,这几乎是一样的。