转义变量mysql密码

时间:2018-12-20 07:35:26

标签: mysql bash escaping

我有一个以空格开头的mysql密码。我想将此密码放入变量中,然后用它来连接bash脚本。

这很好:

mysql -u me -p' examplepw'

但这不是:

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

因为单引号使变量名按字面意义进行解释(即mysql无法将字符串$pw识别为有效密码)。

如何使用变量保存需要转义的mysql密码?

3 个答案:

答案 0 :(得分:1)

只要您使用环境变量,就可以将密码存储在MYSQL_PWD中。 MySQL将从那里获取它:

export MYSQL_PWD=" examplepw"
mysql -u me

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

${}扩展变量。

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

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