Linux 在bash中为postgresql生成随机密码
我正在尝试安装postgresql并在部署时为其生成一个随机密码,只是为了测试。大概是这样的:Linux 在bash中为postgresql生成随机密码,linux,bash,postgresql,shell,debian,Linux,Bash,Postgresql,Shell,Debian,我正在尝试安装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 $PROJ
$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'"
我得到的错误是:
=b3wdxlsbuymho0cmoz4tgpylcankdgj:未找到命令/usr/lib/postgresql/9.1/bin/createdb:选项需要参数--
“O”有关更多信息,请尝试“createdb--help”
信息。错误:在“带密码”处或附近出现语法错误
第1行:使用密码“”更改用户
有人能解释一下为什么会发生这种情况吗?您的第一行需要更改(变量分配不应该有美元符号):
该错误还表明未设置
$PROJECT
-如果在第一行之后添加echo“$PROJECT-$DBPASS”
,您会得到什么?您的第一行需要更改(变量分配不应该有美元符号):
该错误还表明未设置
$PROJECT
-如果在第一行之后添加echo“$PROJECT-$DBPASS”
,您会得到什么?谢谢。第二个错误是因为我没有设置$projectThank。第二个错误是因为我没有设置$project
DBPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)