Печатать выходные сообщения sql в файл в сценарии оболочки

Мне нужно запустить сценарии SQL, и я хотел записать этот вывод в файл журнала. Я пытаюсь получить доступ к Sybase с помощью ISQL, и ниже приведен пример файла, хотя в файле журнала печатаются только эхо-сообщения.

Команда, которую я запускаю в окне Windows, такова:

./Test.sh > $JOBSROOT/Test/Scripts/logtest/test.log 2>&1

#!/bin/sh
#ident "%W%" 
#
echo "Trying to print"

ISQL_EOD="$ISQL -S $DB_SERVER -U $DB_DRMSUSER -P $DB_DRMSPASS -w999"

cd ${JOBSROOT}/Test/Scripts/logtest/
echo "Echo Prints"

$ISQL_EOD  << ADDE
set nocount on

select 'A HouseKeeper job'

set nocount off
ADDE

Впервые я делаю это, поэтому могу ошибаться где-нибудь в этом, пожалуйста, помогите мне понять это и найти неисправную линию.


person ANewDeveloper    schedule 14.07.2015    source источник
comment
Не связанные, но помещать команды в строки - не очень хорошая идея. Это не работает для сложных команд. См. Bash FAQ 050 для обсуждения этого вопроса.   -  person Etan Reisner    schedule 14.07.2015


Ответы (1)


Похоже, что в вашей команде отсутствует go В isql команды выполняются путем выдачи go в отдельной строке.

set nocount on

select 'EMEA VPE VOT Morning HouseKeeper job'

set nocount off

go
person Michael Gardner    schedule 14.07.2015
comment
Да. Я заметил это сразу после того, как задал этот вопрос здесь, а затем решил проблему, с которой столкнулся. Однако спасибо за помощь. - person ANewDeveloper; 15.07.2015