2

我遇到了查询问题,当我从命令行运行它时,我没有问题,但是从脚本中它以一种奇怪的方式扩展了脚本。

我的查询:

QUERY[1]="SELECT users.username AS \"User name\"FROM mytable WHERE creation_date > '${BEGIN}' AND creation_date < '${END}'"

来自脚本的调用:

$(mysql -hmyhost -uuser -pmypass -Dmydb -B -e "${QUERY[${query}]}")

我得到一个:

-bash:用户:找不到命令

知道出了什么问题吗?

谢谢

4

2 回答 2

0
$(mysql -hmyhost -uuser -pmypass -Dmydb -B -e "${QUERY[${query}]}")

我认为您不需要将其置于命令替换下:

mysql -hmyhost -uuser -pmypass -Dmydb -B -e "${QUERY[${query}]}"

它会导致 的输出mysql ...也被执行,从而显示错误User: command not found

于 2013-09-12T16:04:01.860 回答
0

如果您只是在这样的脚本上添加一行: $(somecommand) 命令“somecommand”的输出将被 shell 用作命令。您可能想要做的是: output=$(somecommand)

于 2013-09-19T12:57:07.997 回答