Я использовал метод для присвоения вывода SQL переменной, как показано ниже.
dbRole=$(${SQLPLUSPGM} -s / as sysdba <<-EOF
set head off
set verify off
set feedback off
select trim(translate(database_role,' ','_')) from v\$database;
exit;
EOF
)
Но к переменной o / p добавляется символ "\n"
, т.е. \nPHYSICAL_STANDBY
Однако, когда я использую приведенный ниже метод, он работает нормально
${SQLPLUSPGM} -s / as sysdba <<-EOF | grep -v '^$' | read dbRole
set head off
set verify off
set feedback off
select trim(translate(database_role,' ','_')) from v\$database;
exit;
EOF
Любое предложение, почему он добавляет `\ n 'и как мы можем от него избавиться.
Ценю ваши предложения.