2017-08-07 140 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