Confuso sobre o sinalizador stty "onlcr"

4

Na documentação stty , o seguinte é mencionado:

[-]icrnl translate carriage return to newline

[-]inlcr translate newline to carriage return

* [-]ocrnl translate carriage return to newline

* [-]onlcr translate newline to carriage return-newline

Observe como o "cr" em icrnl e inlcr e ocrnl significa "retorno de carro", mas significa "retorno de linha de carro" em onlcr .

Este é um erro de digitação ou é assim que onlcr realmente funciona (por exemplo, ele traduz \n para \r\n )?

    
por Joseph 30.10.2017 / 13:03

1 resposta

3

Não é um erro de digitação, é de fato o que POSIX também diz :

onlcr (-onlcr)

Map (do not map) NL to CR-NL on output. This shall have the effect of setting (not setting) ONLCR in the termios c_oflag field, as defined in XBD General Terminal Interface.

O fato de o modo não ser chamado "onlcrnl" é provavelmente apenas para manter os nomes das configurações curtos e consistentes (ou pelo menos consistentemente curtos).

A seção Rationale nos diz que o padrão para stty foi adotado do System V, então estou assumindo que havia compatibilidade retroativa com sistemas mais antigos para se preocupar também.

    
por 30.10.2017 / 13:12

Tags