一般的なアプローチの1つは、返したい値(Tomの例では文字列 "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スクリプト内-ヘッダーが必要ないのに、スクリプトでヘッダーを明示的に設定している理由がわかりません...ヘッダーの一部を保持しますか?
>