escape变量mysql password

xjreopfe  于 2021-06-15  发布在  Mysql
关注(0)|答案(3)|浏览(404)

我有一个以空格开头的mysql密码。我想把这个密码放到一个变量中,然后用它来连接bash脚本。
这很好:

mysql -u me -p' examplepw'

但这并不是:

pw=" examplepw"
mysql -u me -p'$pw'

因为单引号使变量名被逐字解释(即mysql不能识别字符串) $pw 作为有效密码)。
如何使用变量来保存需要转义的mysql密码?

js4nwp54

js4nwp541#

只要使用环境变量,就可以将密码存储在 MYSQL_PWD . mysql将从此开始:

export MYSQL_PWD=" examplepw"
mysql -u me
balp4ylt

balp4ylt2#

啊,我刚刚找到了解决方案:终止单引号,并用双引号连接引用的变量:

mysql -u me -p''"$pw"''
aamkag61

aamkag613#

${} 展开变量。

PASS=" 12345678"
mysql -u me -p"${PASS}"

在这种情况下, ${PASS} 扩展到 12345678

相关问题