首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL部署脚本暂停

PostgreSQL部署脚本暂停
EN

Stack Overflow用户
提问于 2012-12-05 20:54:52
回答 1查看 312关注 0票数 0

我有一个bash部署脚本(linode stackscript),它在部署Debian6.0服务器时运行。脚本以root形式运行,脚本如下:

代码语言:javascript
复制
apt-get update
apt-get install postgresql postgresql-contrib pgadmin3

passwd postgres
su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'changeme'" -d template1
su - postgres
createdb mytestdb
psql mytestdb

我有两个问题:

首先,当我通过shell手动运行每一行时,它可以工作,但当我作为stackscript运行它时,它运行的是postgres行,但之后什么也不运行。

其次,当我运行postgres行时,它要求我手动输入密码。有没有办法将它作为变量放入there脚本中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-06 15:49:15

passwd是用来交互使用的。在批处理中更改密码的正确命令是chpasswd

示例:

代码语言:javascript
复制
#!/bin/sh
echo 'postgres:newpassword' | chpasswd

还要注意的是,您的脚本所做的su - postgres看起来并不像通常在非交互模式下完成的。最好做:su -c 'command1; command2...' - postgres

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13732240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档