Der er et par forskellige tilgange i denne askTom-tråd på returnerer værdier fra SQL*Plus til et shell-script .
En almindelig tilgang er at vælge et konstant token ud over den værdi, du vil returnere (i Toms eksempel, det er strengen "KEEP") og derefter bruge sed (eller din foretrukne kommandolinjeparser) til at udtrække de data, du er faktisk interesseret i
#!/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
Andre tilgange, såsom tilgange, der giver dig mulighed for at læs flere outputlinjer diskuteres også i den tråd.
Hvis du ikke ønsker, at overskriften skal udskrives, skal du angive
set head off
i dit SQL*Plus script-- Jeg er ikke sikker på, hvorfor du udtrykkeligt sætter headeren til i scriptet, hvis du ikke vil have headeren... Vil du beholde en del af headeren?