動的パフォーマンスビュー(v $ asm_diskgroup)の出力をシェルスクリプトの変数に割り当てる

動的パフォーマンスビュー(v $ asm_diskgroup)の出力をシェルスクリプトの変数に割り当てる

出力を割り当てようとしています。

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という変数を拡張しようとします。シェルは一重引用符内に変数を拡張しません。

おすすめ記事