无法通过bash脚本登录到postgres



我有一个脚本,在其中我给出了以下命令-

su-postgres

psql

\c db1;

从员工中选择*;

但当我运行脚本时,我无法进入psql内部,它在第一个命令";su-postgres";

[root@quadoralnx~]#/ora.sh

最后登录时间:美国东部时间2020年8月25日星期二01:23:59 pts/11

-bash-4.2$

当我退出时,它会给出以下错误-

-bash-4.2$退出

退出

psql:错误:无法连接到服务器:FATAL:角色"根";不存在

/ora.sh:行3:c:未找到命令

/ora.sh:第4行:中意外标记"from"附近出现语法错误

/ora.sh:第4行:`从员工中选择*;'

[root@quadoralnx~]#

所以这里我需要的是它不应该在第一步中停止,并且应该在一次拍摄中运行该脚本中的所有命令。有人能帮我做这个吗?

提前感谢!!

它不会这样工作的。使用此语法从bash-cli:运行sql查询

dbhost=localhost
dbport=5432
dbuser=postgres
dbname=postgres
psql -h$dbhost -p$dbport -U$dbuser -d$dbname -c "select 1;"

为了避免密码提示,您可以创建类似的~/.pgpass文件

dbpass=secret
echo "$dbhost:$dbport:$dbname:$dbuser:$dbpass" > ~/.pgpass
chmod 600 ~/.pgpass

最新更新