Има няколко различни подхода в тази тема на askTom на връщане на стойности от SQL*Plus към shell скрипт .
Един често срещан подход е да изберете постоянен токен в допълнение към стойността, която искате да върнете (в примера на Том, това е низът "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 скрипт-- Не съм сигурен защо изрично задавате заглавката в скрипта, ако не искате заглавката... Искате ли да запазите част от заглавката?