バックティックを使用して変数内に bash エスケープ感嘆符を表示する

バックティックを使用して変数内に bash エスケープ感嘆符を表示する

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

ベストアンサー1

おすすめ記事