簡體   English   中英

在bash中為postgresql生成隨機密碼

[英]Generate random password for postgresql in bash

我正在嘗試安裝postgresql並在部署時為它生成一個隨機密碼,僅用於測試。 像這樣的東西:

$DBPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
sudo -u postgres -H createuser --no-createrole --no-superuser --no-createdb $NAME
sudo -u postgres -H createdb -O $PROJECT $PROJECT
sudo -u postgres -H psql -c "alter user $PROJECT with password '$DBPASS'"

我得到的錯誤是這樣的:

= b3wDxlSbUymho0CmOZ4TgPylLCanKdgJ:找不到命令/usr/lib/postgresql/9.1/bin/createdb:選項需要參數 - 'O'嘗試“createdb --help”獲取更多信息。
錯誤:“使用密碼”或附近的語法錯誤
第1行:使用密碼''更改用戶

任何人都可以解釋為什么會這樣嗎?

您的第一行需要更改(變量分配不應該有美元符號):

DBPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)

該錯誤還表明$PROJECT未設置 - 如果在第一行之后添加echo "$PROJECT - $DBPASS" ,您會得到什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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