Alv*_*aro 5 postgresql ubuntu sh
我正在尝试构建一个安装脚本来自动创建开发环境,但是我在尝试管道或使用psc的-c修饰符时遇到了麻烦.
我试过了:
sudo su postgres psql -c "ALTER ROLE postgres WITH password 'pass'"
Run Code Online (Sandbox Code Playgroud)
和
sudo su postgres psql -c "ALTER ROLE postgres WITH password 'pass';"
Run Code Online (Sandbox Code Playgroud)
两者都说"ALTER:command not found"
我也尝试过管道,但是我无法正确地将它与su结合起来
例如:我尝试了类似的东西
sudo su postgres echo "ALTER ROLE postgres WITH password 'pass'" | psql
Run Code Online (Sandbox Code Playgroud)
但是postgres不能执行"echo"
和:
echo "ALTER ROLE postgres WITH password 'pass'" | sudo su psql
Run Code Online (Sandbox Code Playgroud)
哪个不起作用.
所以,我的第一个问题是:如何从sh文件中执行这个简单的命令?
第二个,相关性较小:如何在与管道链接的命令中使用不同的用户?
错误之处在于缺乏-c
或--command
用于su
指示该行的其余部分是命令.
但su
无论如何都不需要,因为已经有了sudo
.改为:
sudo -u postgres psql -c "ALTER ROLE postgres WITH password 'pass'"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6942 次 |
最近记录: |