我正在尝试编写一个自动创建和填充数据库的bash脚本。
我发现我可以使用这些命令在命令行中创建数据库:
sudo su postgres
psql -c 'CREATE DATABASE routing;'
exit
之后我看到了数据库。但是,当我将它们放入shell脚本并运行它(使用sudo)时,不会创建数据库。有任何想法吗?
在你sudo su
之后你成为另一个用户。此时脚本将停止执行,直到退出用户,然后它将继续执行。
相反,如果你想运行postgres的东西,尝试像这样的smth:
sudo su postgres <<EOF
psql -c 'CREATE DATABASE routing;'
EOF
exit