我有一个以空格开头的mysql密码。我想把这个密码放到一个变量中,然后用它来连接bash脚本。这很好:
mysql -u me -p' examplepw'
但这并不是:
pw=" examplepw" mysql -u me -p'$pw'
因为单引号使变量名被逐字解释(即mysql不能识别字符串) $pw 作为有效密码)。如何使用变量来保存需要转义的mysql密码?
$pw
oiopk7p51#
啊,我刚刚找到了解决方案:终止单引号,并用双引号连接引用的变量:
mysql -u me -p''"$pw"''
tcbh2hod2#
只要使用环境变量,就可以将密码存储在 MYSQL_PWD . mysql将从此开始:
MYSQL_PWD
export MYSQL_PWD=" examplepw" mysql -u me
p5cysglq3#
${} 展开变量。
${}
PASS=" 12345678" mysql -u me -p"${PASS}"
在这种情况下, ${PASS} 扩展到 12345678
${PASS}
12345678
3条答案
按热度按时间oiopk7p51#
啊,我刚刚找到了解决方案:终止单引号,并用双引号连接引用的变量:
tcbh2hod2#
只要使用环境变量,就可以将密码存储在
MYSQL_PWD
. mysql将从此开始:p5cysglq3#
${}
展开变量。在这种情况下,
${PASS}
扩展到12345678