Ada beberapa pendekatan berbeda dalam utas askTom ini di mengembalikan nilai dari SQL*Plus ke skrip shell .
Salah satu pendekatan yang umum adalah memilih token konstan selain nilai yang ingin Anda kembalikan (dalam contoh Tom, yaitu string "JAGA") dan kemudian gunakan sed (atau pengurai baris perintah favorit Anda) untuk mengekstrak data yang Anda 'sebenarnya tertarik pada
#!/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
Pendekatan lain, seperti pendekatan yang memungkinkan Anda untuk membaca beberapa baris keluaran juga dibahas di thread itu.
Jika Anda tidak ingin tajuk dicetak, Anda harus menentukan
set head off
di skrip SQL*Plus Anda-- Saya tidak yakin mengapa Anda secara eksplisit mengatur header di skrip jika Anda tidak ingin header... Apakah Anda ingin menyimpan beberapa bagian dari header?