bash脚本中的SQL查询问题

时间:2013-09-12 16:01:44

标签: mysql sql bash

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

我的查询:

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:用户:找不到命令

任何想法都会出错?

由于

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

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