Я подключаюсь к базе данных oracle, запускаю запрос и присваиваю выходные данные переменной. Но когда я отображаю значение переменной, оно выводится неправильно.
count=`sqlplus -s $configuser/$configpass@$ORACLE_SID <<END
set pagesize 0 feedback off verify off heading off echo off;
select max(cust_id) from cutomers
exit;
END`
echo $count
Запрос возвращает правильный результат при запуске базы данных. Но переменная "count" имеет неверное значение.
Ответы:
Завершающее слово here-doc должно быть единственными символами в строке: отступ не допускается. Также используйте
$()
вместо обратных галочек - они вложенные.http://www.gnu.org/software/bash/manual/bashref.html#Here-Documents
источник
<<-END
обозначениями. Не пробелы, вкладки!источник
Вы должны использовать точку с запятой в правильном месте.
источник
END
в конце должно быть заподлицо слева, без пробелов перед ним.