Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在bash中为postgresql生成随机密码_Linux_Bash_Postgresql_Shell_Debian - Fatal编程技术网

Linux 在bash中为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

我正在尝试安装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'"
我得到的错误是:

=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)