इस AskTom थ्रेड में एसक्यूएल*प्लस से शेल स्क्रिप्ट में मान लौटाना .
एक सामान्य तरीका यह है कि आप जिस मूल्य को वापस करना चाहते हैं, उसके अलावा एक स्थिर टोकन का चयन करें (टॉम के उदाहरण में, वह स्ट्रिंग "KEEP" है) और फिर डेटा निकालने के लिए sed (या आपका पसंदीदा कमांड-लाइन पार्सर) का उपयोग करें। वास्तव में रुचि है
#!/bin/ksh
x=`sqlplus / <<endl | grep KEEP | sed 's/KEEP//;s/[ ]//g'
select 'KEEP' , max(sal) from emp;
exit
endl`
echo the answer is $x
अन्य दृष्टिकोण, जैसे दृष्टिकोण जो आपको आउटपुट की अनेक पंक्तियां पढ़ें उस सूत्र में भी चर्चा की गई है।
यदि आप नहीं चाहते कि शीर्षलेख मुद्रित हो, तो आपको निर्दिष्ट करना चाहिए
set head off
आपकी SQL*Plus स्क्रिप्ट में-- मुझे यकीन नहीं है कि यदि आप हेडर नहीं चाहते हैं तो आप स्क्रिप्ट में हेडर को स्पष्ट रूप से क्यों सेट कर रहे हैं... क्या आप हेडर का कुछ हिस्सा रखना चाहते हैं?