test.shという名前のbashスクリプトがあり、/ 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