我有一个 bash shell 部署脚本(linode stackscript),它在我部署我的 debian 6.0 服务器时运行。脚本以root身份运行,脚本如下:
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 运行时,它运行passwd postgres行,但之后什么也没有。
其次,当我运行passwd postgres行时,它要求我手动输入密码。有什么办法可以将它作为 shellscript 中的变量放入?