Linux 如何使用shell脚本进入postgresbash命令行并退出?
我是linux脚本的初学者。谁能帮帮我吗 从terminal I输入postgres bash命令行,方法是键入: [root@localhost桌面]#su-postgres -bash-3.2$ 然后我可以从那个里创建user,db,然后我可以通过键入“exit”命令退出 我如何通过脚本来实现这一点?我已经写了一张纸条,但它确实进入了bash,但没有运行命令。我想进入bash,创建一个用户&db,然后退出。我的脚本概念如下所示: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
#!/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用户密码。第二个密码是您正在创建的新角色(“星号”)的密码;第三个密码是确认密码。