Сценарии оболочки: невозможно отобразить вывод в файл журнала - PullRequest
1 голос
/ 09 ноября 2011

В My Shell Script я пытаюсь перенести вывод scp в файл журнала. Ниже приведен фрагмент кода. В командной строке я вижу журналы, но журналы scp не помещаются в файл. В этом может быть причина

FTP_LOG = "Log.txt"
scp -v ${feedFile} ${USER}@${DESTINATION}:inbox >> ${FTP_LOG}

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

Другая проблема заключается в том, что последний возвращенный код после команды scp на самом деле не говорит, была ли передача файла успешной. Даже если передача файла не удалась, последний код возврата я получаю как свидетельство успеха.

Ответы [ 2 ]

4 голосов
/ 09 ноября 2011

-v выводит на STDERR, а не на STDOUT. Вы хотите 2>> не >>

0 голосов
/ 09 ноября 2011

Лучший пример IMHO - перенаправить stdout и stderr в 2 файла, например:

ftp_log=log
ftp_error_log_err_log
scp -v "$feedFile" $USER@${destination}:inbox > "$ftp_log" 2> "$ftp_error_log"
...