样例bash脚本
QRY="select * from mysql"
CMD="mysql -e \"$QRY\""
`$CMD`
我收到错误消息是因为*在我的CWD中被评估为glob(枚举)文件。
我已经看过其他一些文章,它们出于回声输出的目的谈论引用“ $ CMD”引用,但是在这种情况下
"$CMD"
抱怨整个文字字符串作为命令。
如果我
echo "$CMD"
然后将其复制/粘贴到命令行,似乎一切正常。
您可以使用:
qry='select * from db'
mysql -e "$qry"
这将不受*
外壳扩展的限制。
如果您还想存储mysql
命令行,则使用BASH数组:
cmd=(mysql -e "$qry")
"${cmd[@]}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句