我遇到了查询问题,当我从命令行运行它时没有问题,但是从脚本中它以一种奇怪的方式扩展了脚本。
我的查询:
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:用户:找不到命令
任何想法都会出错?
由于
答案 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)