Inspecione as configurações de TTY.
$ ssh -t somewhere 'stty -a' | grep cr
iflags: -istrip icrnl -inlcr -igncr -iuclc ixon -ixoff ixany imaxbel
oflags: opost onlcr -ocrnl -onocr -onlret -olcuc oxtabs -onoeot
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf
Elas podem variar, mas mostram aqui que, por padrão, em ssh -t
que igncr
"ignore CR" está desabilitado na entrada e para a saída que onlcr
está definida (mapeia NL para CR-NL) e que CR não são mutilados ou omitidos. Pode-se procurar esses termos no manual stty(1)
, e ver também termios(4)
(que o linux pode colocar em alguma outra seção man).
As configurações também podem ser manipuladas (mas isso pode, no entanto, quebrar coisas que, por algum motivo, precisam de onlcr
set):
$ ssh -t somehost 'stty onlcr; cat /etc/motd' > x ; file x
x: ASCII English text, with CRLF line terminators
$ ssh -t somehost 'stty -onlcr; cat /etc/motd' > x ; file x
x: ASCII English text
$
Pode ser mais sensato usar scp
ou sftp
para copiar dados para eliminar o risco de (pseudo) tty manuseio CR / NL causar alterações no conteúdo do arquivo.