在一条语句中从shell脚本执行多个mysql查询

在一条语句中从shell脚本执行多个mysql查询,mysql,bash,shell,Mysql,Bash,Shell,我试图从shell脚本执行mysql查询。下面是两个查询。第一个查询似乎有效并完成了工作。第二条语句失败。但是,如果保留单个查询而不是两个查询,则第二个语句可以工作 mysql-ib -utrial -ptrial! trial -se "SET @bh_dataformat='txt_variable'; SELECT @bh_dataformat" $(mysql-ib -utrial -ptrial! trial -se "SET @bh_dataformat='txt_variable

我试图从shell脚本执行mysql查询。下面是两个查询。第一个查询似乎有效并完成了工作。第二条语句失败。但是,如果保留单个查询而不是两个查询,则第二个语句可以工作

mysql-ib -utrial -ptrial! trial -se "SET @bh_dataformat='txt_variable'; SELECT @bh_dataformat"

$(mysql-ib -utrial -ptrial! trial -se "SET @bh_dataformat='txt_variable'; SELECT @bh_dataformat")
执行第二条语句时出现的错误是

./test.sh: line 15: txt_variable: command not found

您正在使用带有
$(..)
的子shell。这就是调用的shell变量(如
txt\u variable
)不再定义的原因。

$(cmd)
将执行
cmd
,并使用输出if
cmd
作为命令名。你为什么使用
$(…)
?@hek2mgl不是我写的东西。我意识到了这一点,我正试图在现有的脚本中做一些事情。不是贝壳专家。我应该不使用$(…)吗?不,不要使用
$(…)