Выход прерывается при добавлении вывода 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} 

  • Присвоение строковой переменной из SQL-запроса переменной оболочки
  • Изменение типов столбцов столбцов в базе данных Hive
  • SQLPLUS с циклами сценариев оболочки
  • Инструмент для экранирования всех кавычек в строке / файле
  • Исключение переменных bash перед их сохранением в базе данных hive apache
  • Отличный способ SQL-запроса нескольких CSV-файлов?
  • Как распечатать CSV / таблицу из результатов SQuirreL?
  • Ошибка переменной типа?
  • 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.

    Interesting Posts

    Kali Linux: apt-get update возвращает ошибку «Ошибка хэш-суммы»

    Команды rsync, используемые для синхронизации

    Получить временную последовательность в Unix?

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

    Порядок выполнения с несколькими командами

    Как извлечь версию linux из резервной копии .img?

    stdin, stderr, перенаправление и журналы

    Отображения Alt для vim в urxvt

    Запуск приложения GUI в качестве другого (не root) пользователя

    Есть ли более простой способ скопировать файл с компьютера на Raspberry Pi через Ethernet, чем вручную настроить IP для обоих компьютеров?

    Не удается проверить SSH на localhost – проверка ключа хоста

    Файлы, созданные на общем ресурсе Samba, не могут быть изменены одним и тем же пользователем

    Как читать и делать min / max / avg из потока NMEA

    Как переключить или отключить отправку текста в буфер обмена

    Запуск Spark в переднем плане через супервизора

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