微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将mysql查询输出存储到shell变量中

我需要一个变量来保存从数据库中检索的结果.到目前为止,这基本上是我尝试没有成功的.

myvariable=$(MysqL database -u $user -p $password | SELECT A, B, C FROM table_a)

你可以看到我对bash命令的理解不是很好.

解决方法:

我不太了解MySQL命令行界面,但假设你只需要帮助进行抨击,你应该尝试交换命令,如下:

myvariable=$(echo "SELECT A, B, C FROM table_a" | MysqL database -u $user -p$password)

将字符串回显到MysqL.或者,您可以更加花哨并使用一些新的bash功能(此处为字符串)

myvariable=$(MysqL database -u $user -p$password<<<"SELECT A, B, C FROM table_a")

导致相同的事情(假设您正在使用最近的足够的bash版本),而不涉及回声.

请注意,-p $密码不是拼写错误,而是MysqL期望通过命令行输入密码的方式(选项和值之间没有空格).

请注意,myvariable将包含MysqL在标准输出输出的所有内容(通常是除错误消息之外的所有内容),包括任何和所有列标题,ASCII艺术帧等,这些可能是您想要的,也可能不是.

编辑:
正如已经指出的那样,MysqL似乎有一个-e参数,我肯定会去那个参数.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐