Почему вывод sqlplus обрезается в оболочке?

Я хочу поместить в переменную shell набор результатов из sqlplus, включая разделители eol, но я получаю результат в переменной в виде одной строки. Похоже, что разделители eol удалены.

Одна из моих попыток:

  out=$(echo -e "select * from table1;" | sqlplus -S /)
  echo -e $out

результат:

ID DATA --- ----------------------------------- 1   test data 1 2   test data 2

вместо:

ID  DATA                      
--- -----------------------------------
1   test data 1
2   test data 2

Когда я перенаправляю вывод sqlplus в файл, все работает правильно:

echo -e "select * from table1;" | sqlplus -S / >> file.txt

ID  DATA                      
--- -----------------------------------
1   test data 1
2   test data 2

Почему разделители eol исчезают именно в переменной оболочки? Или где моя ошибка?

0 ответов

Другие вопросы по тегам