Перенаправление KornShell (ksh) - PullRequest
       1

Перенаправление KornShell (ksh)

3 голосов
/ 28 декабря 2010

У меня есть скрипт, который перенаправляет std out / std err, как показано ниже:

SCRIPTS=/test/scripts
LOG=/test/log
echo $SCRIPTS
echo $LOG
$SCRIPTS/dmm_algo_ofac_daily_sched.ksh >> $LOG/test12.log 2>&1

Этот скрипт не может расширять $SCRIPTS и $LOG

Если я его заменюкак показано ниже:

/test/scripts/daily_sched.ksh >> /test/log/test12.log 2>&1

Жалуется, как показано ниже:

: bad file unit numberd/test.ksh: line 33: 1

Также я не могу вызвать скрипт из каталога, в котором он был сохранен.Если я сделаю

./test.ksh, то выдаст ошибку, сообщив, что файл не найден.Я могу выполнить его через ksh /test/sched/test.ksh.

Может кто-нибудь помочь мне с этим.Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 28 декабря 2010

Я почти уверен, что проблема в концах строк DOS / Windows

Получаемое сообщение об ошибке перезаписывается само из-за возврата каретки.Вы можете исправить свой файл, используя dos2unix.

1 голос
/ 28 декабря 2010

Добавьте магию #!/bin/ksh в первую строку, чтобы вызывать ее напрямую, не называя интерпретатор в командной строке.

0 голосов
/ 28 декабря 2010

Я буду дико предполагать, что ваша основная причина (причины) не имеет никакого отношения к перенаправлению.

Это сценарий, который вы выставили /test/sched/test.ksh или /test/scripts/test.ksh? Вы уверены?

...