[英]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.