2017-08-07 136 views
0

我试图保存通过SQLPLUS所做的查询的响应并将其保存在本地变量中,但是当我执行下面的代码时,我得到的是路径而不是输出查询的价值,你能帮我吗?我不知道我做错了什么:检索并将SQLPLUS查询结果保存到变量bash中

#!/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用户/ passwd文件”时,它应该是我做了查询esult。 请告诉我,我做错了:S使用相同的命令定界符和命令替换

+0

$ SQLPLUS不是一个命令替换,但一个变量扩展$(“$ SQLPLUS”)必须用来代替 –

回答

0

不会被推荐,越容易使用功能

fun_sql() { 
    sqlplus user/[email protected] <<EOF 
... 
EOF 
} 

X=$(fun_sql) 
+0

这实际上工作,谢谢! 猜你是对的,它需要在不同的步骤完成 – Cano