我有这个 bash 脚本名称 test.sh 并位于 /tmp:
source $HOME/.backmeuprc
databases=`mysql -h$DBHOST -u$DBUSER -p$DBPASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
.backmeuprc 文件位于/home/user
并具有以下内容:
DBHOST="localhost"
DBUSER="mysqluser" #MySQL user that can dump all databases
DBPASSWORD="somepasswordwith!and$and+andotherspecialcaracters'"
DBPORT="3306"
问题是密码包含所有可能的字符。$DBPASSWORD
在这种情况下我怎样才能逃脱呢?问题是该命令位于反引号内。我没有 bash 脚本的经验,但我已经尝试过,"$DBPASSWORD"
但'$DBPASSWORD'
它不起作用。
稍后编辑:请参阅此处脚本的链接,第 170 行 https://github.com/Ardakilic/backmeup/blob/master/backmeup.sh