出力を割り当てようとしています。
v $ asm_diskgroupから名前を選択します。
シェルの変数に。テーブル名に特殊文字「$」が含まれているため、スクリプトは失敗します。
注:「デュアルからsysdateを選択」値を割り当てようとすると、魅力のように動作します。
どんな助けでも大変感謝します。
有効なクエリ:
count=$(sqlplus -s $configuser/$configpass@$ORACLE_SID <<END
select sysdate from dual;
exit;
END
)
echo $count
問題のあるクエリ:
count=$(sqlplus -s $configuser/$configpass@$ORACLE_SID <<END
select name from v$asm_diskgroup
exit;
END
)
echo $count
ベストアンサー1
$を含む文字列を一重引用符で囲む必要があります。
value=$(... 'select name from v$asm_diskgroup;')
それ以外の場合、シェルはasm_diskgroupという変数を拡張しようとします。シェルは一重引用符内に変数を拡張しません。