首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL如何在bash中接受变量?

MySQL如何在bash中接受变量?
EN

Stack Overflow用户
提问于 2013-05-17 13:51:08
回答 2查看 117关注 0票数 0

通过bash创建一个从MySQL db打印数据的脚本时,遇到了以下问题:当我尝试登录时,它使用密码作为数据库登录。

脚本是这样的:

代码语言:javascript
复制
#!/bin/bash
echo $1
db=$1
pasx=$2
CMD="use $db; select * from job_log;"
mysql -u sqluser -p "${pasx}" -e "$CMD"

如果我要用命令运行脚本

代码语言:javascript
复制
User@server:/path/with/file$ sh sql.sh ok hobo

MySQL返回以下内容:

User@server:/path/with/file$ sh sql.sh ok hobo 好的 输入密码:错误1049 (42000):未知数据库“hobo”

我可能完全误解了什么,但我不能指手画脚。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-17 13:53:37

您需要删除-p参数之后的空间。请参阅mysql man页面。您还需要在命令中指定数据库(从查询中删除它)

代码语言:javascript
复制
mysql -u sqluser -p$pasx -e "$CMD" $db

或者更清楚:

代码语言:javascript
复制
mysql --user=sqluser --password=$pasx --execute="$CMD" $db
票数 3
EN

Stack Overflow用户

发布于 2013-05-17 13:57:45

试试这个:

代码语言:javascript
复制
mysql -u sqluser --password=${pasx} -e "$CMD" $db
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16610759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档