Det finns några olika tillvägagångssätt i den här askTom-tråden på returerar värden från SQL*Plus till ett skalskript .
Ett vanligt tillvägagångssätt är att välja en konstant token utöver värdet som du vill returnera (i Toms exempel, det vill säga strängen "KEEP") och sedan använda sed (eller din favoritkommandoradsparser) för att extrahera data du är faktiskt intresserad av
#!/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
Andra tillvägagångssätt, som tillvägagångssätt som låter dig läs flera utdatarader diskuteras också i den tråden.
Om du inte vill att rubriken ska skrivas ut bör du ange
set head off
i ditt SQL*Plus-skript-- Jag är inte säker på varför du uttryckligen ställer in rubriken på i skriptet om du inte vill ha rubriken... Vill du behålla en del av rubriken?