Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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 如何使用shell脚本进入postgresbash命令行并退出?_Linux_Shell - Fatal编程技术网

Linux 如何使用shell脚本进入postgresbash命令行并退出?

Linux 如何使用shell脚本进入postgresbash命令行并退出?,linux,shell,Linux,Shell,我是linux脚本的初学者。谁能帮帮我吗 从terminal I输入postgres bash命令行,方法是键入: [root@localhost桌面]#su-postgres -bash-3.2$ 然后我可以从那个里创建user,db,然后我可以通过键入“exit”命令退出 我如何通过脚本来实现这一点?我已经写了一张纸条,但它确实进入了bash,但没有运行命令。我想进入bash,创建一个用户&db,然后退出。我的脚本概念如下所示: #!/bin/bash createuser -P -s -e

我是linux脚本的初学者。谁能帮帮我吗

从terminal I输入postgres bash命令行,方法是键入:

[root@localhost桌面]#su-postgres

-bash-3.2$

然后我可以从那个里创建user,db,然后我可以通过键入“exit”命令退出

我如何通过脚本来实现这一点?我已经写了一张纸条,但它确实进入了bash,但没有运行命令。我想进入bash,创建一个用户&db,然后退出。我的脚本概念如下所示:

#!/bin/bash
createuser -P -s -e asterisk
createdb --owner=asterisk asterisk2

您应该按以下方式运行脚本:

su -c myscript.sh postgres
也就是说,以
postgres
用户的身份运行
myscript.sh
(或其名称)。不需要交互式提示,这是
-
给您的提示。

尝试以下方法:

su postgres -c "createuser -P -s -e asterisk && createdb --owner=asterisk asterisk2"

谢谢你宝贵的答复。现在它问我db密码。我进去两次。它问我的第三个密码是什么?[root@localhost桌面]#bash test1.sh为新角色输入密码:再次输入:密码:createuser:无法连接到数据库postgres:致命:用户“postgres”的密码身份验证失败[root@localhost桌面]#是:第一个密码是给postgres用户的(您应该知道“postgres”用户密码;否则,请使用命令
passwd postgres
)将其重置为root用户密码。第二个密码是您正在创建的新角色(“星号”)的密码;第三个密码是确认密码。