检索 SQLPLUS 查询结果并将其保存到变量中 bash

Retrieve and save SQLPLUS query result into a variable bash

我正在尝试保存通过 SQLPLUS 进行的查询的响应并将其保存在局部变量中,但是当我执行以下代码时,我得到的是路径作为输出而不是查询的值,你可以吗请帮我?我不知道我做错了什么:

    #!/bin/bash

SQLPLUS="<Path to sqlplus> -s user/passwd"
X=$SQLPLUS<<EOF_SQL_1
    set heading off;
    select table1 from table 2 where parameter ='Properties';
exit;
EOF_SQL_1
echo  $X

这个脚本的结果是“-s user/passwd”,而它应该是我查询的结果。 请告诉我我做错了什么:S

不推荐在同一个命令中使用 heredoc 和命令替换,使用函数更容易

fun_sql() {
    sqlplus user/passwd@tnsname <<EOF
...
EOF
}

X=$(fun_sql)