Estou usando o Linux 2.6.32-573.26.1
Eu uso o a_script para executar o lote sftp para obter o arquivo de outro servidor Linux
Aqui está o caminho para executar o a_script
a_script > a_script.log.wri 2>&1
Aqui está um_script:
echo script start at 'date'
sftp -b myCommandFile user@server
echo script end at 'date'
Dentro do myCommandFile, existem estes comandos:
lls an_non_exist_file
Porque não é possível encontrar an_non_exist_file
A mensagem de erro é:
ls: cannot access an_non_exist_file: No such file or directory
Shell exited with status 2^M
Assim, a_script.log.wri conterá tudo, incluindo a linha
Shell exited with status 2^M
É esta linha para estragar tudo.
Porque há um caractere Carriage-return ^ M no arquivo a_script.log.wri , quando eu anexar este arquivo em um e-mail e enviar para o gmail , o Gmail não pode abri-lo.
Embora seja um arquivo com extensão wri , o gamil simplesmente não abre.
Estou usando o Nexus 5x para ler o e-mail dentro do gmail. O Android não abre o arquivo de anexo a_script.log.wri
Eu tento criar um arquivo dummy.wri dentro do Linux com 5 linhas e apenas a terceira linha com um caractere de retorno carriage-return. Outras 4 linhas terminam com LF.
Depois, anexei este arquivo dummy.wri em um email e enviei para a conta do Gmail.
Bem, realmente não é possível abrir o arquivo dummy.wri
Se não houver final de retorno de carro, está tudo bem. Eu posso abri-lo dentro do gmail dentro do Android do Nexus 5x.
Então, minha pergunta é, como fazer o sftp NÃO adicionar o caractere de retorno de carro ao exibir a mensagem de erro?
Além disso, em vez de usar o lls, o uso do ls an_non_exist_file terá uma situação semelhante.
Alvin SIU