2017-10-06 93 views
0

我對shell腳本非常陌生,我想在if'條件'內寫入SQL查詢,而不是在'block'內部。任何人都可以幫助我嗎?如何在如果條件的ksh shell腳本中寫入sql查詢

我的代碼: -

if [sqlplus -s /@user_pass_dbname << EOF select param_value from my_table where my_id=1 EXIT; /EOF == '7878'];then 
echo "works!!" 
else 
echo "doesn't work" 

輸出: - 第3行 語法錯誤:`< <'無與倫比

回答

0

獲取從sqlplus中值的變量,而不是:

result=`sqlplus -s /@user_pass_dbname <<EOF 
set head off feedback off 
select param_value from param_table where param_id=1; 
exit 
EOF` 

if [ $result = 965 ]; then 
echo "works" 
else 
echo "doesn't work" 
fi 
+0

這不是未來的權利,所以我呼應$結果。它說 PARAM_VALUE --------------------------------------------- ----------------------------------- 所以,它是打印表本身,而不僅僅是值。 –

+0

你添加頭和反饋關閉? –

+0

我忘了補充一點。它現在工作!非常感謝!!! :) –

0

我沒有現在的環境進行測試,但我認爲你需要放引號(')。

'sqlplus -s /@user_pass_dbname << EOF select param_value from my_table 
    where my_id=1 EXIT; /EOF'