簡體   English   中英

bash shell腳本提示輸入數據庫密碼

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM