【发布时间】:2015-04-19 13:06:20
【问题描述】:
我正在尝试构建一个设置脚本来自动创建开发环境,但我在尝试管道或为 psql 使用 -c 修饰符时遇到了麻烦。
我试过了:
sudo su postgres psql -c "ALTER ROLE postgres WITH password 'pass'"
和
sudo su postgres psql -c "ALTER ROLE postgres WITH password 'pass';"
两者都说“ALTER: command not found”
我也尝试过 pipe,但我无法将它与 su 正确结合
例如:我尝试过类似
sudo su postgres echo "ALTER ROLE postgres WITH password 'pass'" | psql
但是postgres不能执行“echo”
还有:
echo "ALTER ROLE postgres WITH password 'pass'" | sudo su psql
这是行不通的。
那么,我的第一个问题是:如何从 sh 文件中执行这个简单的命令?
第二个,不太相关:如何在通过管道链接的命令中使用不同的用户?
【问题讨论】:
-
你为什么使用
sudo或su?不能直接启动psql -U postgres吗?
标签: postgresql ubuntu sh