繁体   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