bash 使用反引号转义变量内的感叹号

bash 使用反引号转义变量内的感叹号

我有这个 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

相关内容