sqlplusから変数を取得する

sqlplusから変数を取得する

以下のようにsqlplusから値を取得しようとしています。しかし、私が望むように答えません。これは私のスクリプトです。

#!/bin/ksh
OLDEST_PARTITION='sqlplus / as sysdba << EOF
select PARTITION_NAME 
from dba_tab_partitions 
where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
order by PARTITION_NAME asc;
EOF'
echo $OLDEST_PARTITION

結果は次のとおりです。

sqlplus / as sysdba << EOF select PARTITION_NAME from dba_tab_partitions where table_name=AUD and PARTITION_NAME not like %FIRST% and rownum<2 order by PARTITION_NAME asc; EOF

ベストアンサー1

〜のようにまあ誤ってスクリプトをコピー/貼り付けていない限り、バックティックが予想される場所ごとに一重引用符を使用する必要があることを指摘してください。これを変更すると、スクリプトは次のようになります。

#!/bin/ksh
OLDEST_PARTITION=`sqlplus / as sysdba << EOF
select PARTITION_NAME 
from dba_tab_partitions 
where table_name='AUD$' and PARTITION_NAME not like '%FIRST%' and rownum<2
order by PARTITION_NAME asc;
EOF
`
echo "$OLDEST_PARTITION"

EOF私はそれを別の行に保ち、OLDEST_PARTITION変数を参照するように注意しました。

おすすめ記事