[英]bash shell script prompting for database password
我添加了我在cronjobs中一直使用的shell脚本来创建新帐户。 当我运行它(在sudo -u下)时,提示我输入数据库密码。 当提供pass时,命令完成而没有问题。
主机分配的随机密码以$开头,我想知道这是否有问题,所以我修改为传递变量。 当前脚本如下。
运行时,它仍会提示您输入数据库密码,然后才能成功完成。 那里怎么了
#!/bin/sh
DBPASS="$randomlettersarehere"
/usr/bin/mysqldump --opt -h mysql.mysite.com -u myuser -p$DBPASS mydbname > "/home/mysite/backups/"`/bin/date +\%Y\%m\%d`.mysiteBackup.sql
使用单引号防止$letters
解释为变量名。
DBPASS='$randomlettersarehere'
当使用双引号时,shell将执行变量插值。 以美元符号开头,这意味着$DBPASS
最终是一个空字符串。
以防它像我一样帮助别人:字符串以$开头,因此bash不会将sring插值为未定义变量
DBPASS='$randomlettersarehere'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.