Como adicionar nova linha no arquivo de texto na saída do script de shell remoto usando o plink

2

No Windows eu estou executando um script de shell remoto usando putty plink

cmd>plink.exe -ssh username@hostipd -pw gbG8qs4 /user/alice/listoffiles.sh > C:\log1.txt

Script de shell no servidor remoto

#! /bin/bash

echo -e "Hellow\nWorld"

Estou recebendo a saída em log1.txt é HelloWorld sem qualquer nova linha. Como obter uma saída como

Hello
World
    
por user188979 14.12.2014 / 11:46

1 resposta

1

Você está recebendo uma nova linha na saída. O problema é que esta é uma nova linha do Unix, que o Windows não reconhece. O Unix codifica as novas linhas como o caractere LF (alimentação de linha), enquanto as novas linhas do Windows consistem na sequência de dois caracteres CRLF (retorno de carro, alimentação de linha).

Para exibir a saída corretamente no Windows, use praticamente qualquer outra coisa que não seja o comando type em cmd ou o editor do Bloco de Notas.

Se você deseja produzir saída com novas linhas do Windows, pode canalizar seu script por meio de sed 's/$/\r/' . Mas observe que esta saída não funcionará normalmente no Linux: o caractere CR extra no final da linha será considerado parte da linha por muitos aplicativos.

    
por 14.12.2014 / 23:22