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