Следующий раздел сценария bash (RHEL 7) вызывает SELECT SQL для команды Ingres sql. Если запрос успешен, возвращает результаты в текстовом формате с журналом самого запроса, за которым следуют результаты, разделенные каналами. Существует конвейер для захвата фактического табличного вывода и сохранения его в формате CSV, форматирования дат и т. д.
Код: Выделить всё
sql $HBDB $OUTFILE1
set autocommit on;
\p\g
set lockmode session where readlock = nolock;
\p\g
/* errant query */
selet * from table_which_does_not_exist
\p\g
_END_
Я думал, что это проверит вывод на наличие текста «E_» в начале любой строки, и если да, то отправит весь вывод в ERRLOG и выйдет из сценария, но этого не происходит, все выходные данные пусты, и команда выхода 1 не вызывается.
Причина, по которой я хочу сделать это в конвейере, заключается в том, что у нас есть сценарии, которые часто вызывают команду sql и сохраняют выводит в CSV, и мне нужно как можно меньше кода.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... essing-pip