1

Я использую Linux 2.6.32-573.26.1

Я использую a_script для запуска пакетного sftp, чтобы получить файл с другого сервера Linux

Вот способ запустить a_script

a_script > a_script.log.wri 2>&1

Вот сценарий:

echo script start at `date`
sftp -b myCommandFile user@server 
echo script end at `date`

Внутри myCommandFile есть следующие команды:

lls an_non_exist_file

Потому что не могу найти файл an_non_exist_file
Сообщение об ошибке:

ls: cannot access an_non_exist_file: No such file or directory  
Shell exited with status 2^M  

Итак, a_script.log.wri будет содержать все, включая строку

Shell exited with status 2^M

Именно эта линия все испортит.

Поскольку в файле a_script.log.wri есть символ возврата каретки ^ M, когда я вложил этот файл в сообщение электронной почты и отправил его в gmail, gmail не может его открыть.

Хотя это файл с расширением wri, gamil просто не открывает его.

Я использую Nexus 5x для чтения электронной почты внутри Gmail. Андроид не открывает файл вложения a_script.log.wri

Я пытаюсь создать файл dummy.wri в Linux с 5 строками и только с 3-й строкой, заканчивающейся символом возврата каретки. Остальные 4 строки заканчиваются LF.

Затем я прикрепляю этот файл dummy.wri к электронному письму и отправляю на учетную запись gmail.

Ну, действительно, он не может открыть dummy.wri

Если нет возврата каретки, все в порядке. Я могу открыть его внутри Gmail внутри Android Nexus 5x.

Итак, мой вопрос, как заставить sftp НЕ добавлять символ возврата каретки при отображении сообщения об ошибке?

Кроме того, вместо использования lls, использование ls an_non_exist_file приведет к аналогичной ситуации.

Элвин Сиу

0