我正在运行一个shell脚本:
$ ./backup.sh user 'passW0rd' database
在我的backup.sh文件中,我有这个:
DB_USER=$1
DB_PASS=$2
DB_NAME=$3
mysqldump --user=${DB_USER} --password=${DB_PASS} ${DB_NAME} > my_data_dump.sql
但是我不断收到以下错误:
mysqldump: Got error: 1045: "Access denied for user 'user'@'000.000....' (using password: YES)" when trying to connect..
现在我知道所有凭据都是正确的,因为当我在shell文件中以这种方式对其进行测试时,它可以工作:
DB_USER=$1
#DB_PASS=$2 #added the password inline
DB_NAME=$3
mysqldump --user=${DB_USER} --password='passW0rd' ${DB_NAME} > my_data_dump.sql
我在做什么错,为什么我不能通过bash命令传递密码?