Выход прерывается при добавлении вывода sql-запроса в ksh

Я очень новичок в написании сценариев. Я хотел бы добавить вывод функции sql, приведенной ниже, к другой переменной, например:

month_end () { mdate=$($SQLPLUS_HOME/sqlplus.exe -S $DBC << END set pagesize 0 feedback off verify off heading off echo off; select to_char(last_day(add_months(sysdate,-1)),'yyyymmdd') from dual; exit; END ) } 

когда я эхо вывод из $ mdate совершенен. (20160531)

Но когда я добавляю к другой переменной, вся ценность сломана (_WORLD.txt вместо Hello_20160531_WORLD.txt).

 FILENAME=Hello EXTENSION=WORLD.txt NAME=$FILENAME_${mdate}_${EXTENSION} echo ${NAME} 

One Solution collect form web for “Выход прерывается при добавлении вывода sql-запроса в ksh”

Это потому, что underscore _ является действительной частью имени переменной, поэтому вам также нужны фигурные скобки вокруг FILENAME :

 NAME=${FILENAME}_${mdate}_${EXTENSION} 

На основании вашего другого ответа, похоже, что у вас также есть возврат каретки ( \r ) в строке назначения FILENAME или выходе sqlplus в $mdate . Узнайте, как запустить cat -v в сценарии оболочки и / или выполнить echo $mdate | cat -v echo $mdate | cat -v . Поскольку я только что заметил sqlplus. exe , я предполагаю, что вы работаете в среде, подобной Cygwin, которая может добавить возврат каретки. Исправьте его, добавив mdate=${mdate//^M/} где вы введете ^ M, набрав control-v, control-m.

  • Awk one-liner для печати столбца таблицы SQL?
  • Комбинация uniq и agrep?
  • Удаление специальных символов в текстовом файле
  • Как запускать несколько запросов в скрипте KSH
  • удаление всех вкладок в sqlplus
  • заполнить базу данных mySQL текстовой информацией
  • Ошибка при запуске скрипта PL / SQL
  • Добавление разрывов между каждыми двумя словами в bash
  • как разделить буферизацию на меньшие файлы csv
  • Как заставить оператор SQL отображать, сколько строк оно подсчитало до сих пор?
  • Использовать аргумент командной строки и переменную с помощью sed Inside Bash Script
  • Сценарий Bash - части chomp из строки
  • Interesting Posts

    Разница в поведении `<Esc>` и `inoremap jk <Esc>` в vim

    Есть ли причина, почему первый элемент массива Zsh индексируется 1 вместо 0?

    Могу ли я объединить два раздела с точек монтирования dfferent / dev / sda в один раздел?

    Как убить приложение, которое захватывает ввод с клавиатуры для уничтожения приложения?

    Интерфейс часов не найден

    Как подключиться через sftp к нестандартному порту на Midnight Commander?

    Вопросы о незначительной ошибке страницы

    Команда для отображения всех изображений в каталоге в одном окне браузера, от термина?

    Сбой связи

    Какие файлы `some_name.o.cmd`?

    Использование xfce с помощью клавиатуры

    Почему автоматические обновления не отправляются по электронной почте?

    Невозможно понизить ядро ​​Linux: недостаточно свободного места на диске

    Передача списка из двух PID для xargs только убивает первый, используя ssh

    Перенос события ввода с веб-камеры на клавишу на клавиатуре

    Linux и Unix - лучшая ОС в мире.