O que significa "newline" na documentação do bash?

0

A documentação do bash diz o seguinte:

A non-quoted backslash ‘\’ is the Bash escape character. It preserves the literal value of the next character that follows, with the exception of newline. If a \newline pair appears, and the backslash itself is not quoted, the \newline is treated as a line continuation (that is, it is removed from the input stream and effectively ignored).

E o seguinte:

The backslash retains its special meaning only when followed by one of the following characters: ‘$’, ‘'’, ‘"’, ‘\’, or newline. Within double quotes, backslashes that are followed by one of these characters are removed. Backslashes preceding characters without a special meaning are left unmodified.

O que significa "newline", é o caracter "n"?

    
por user272542 25.01.2018 / 23:17

2 respostas

0

What is meant by "newline", is it the "n" character?

Não, não é o caractere n. É o que printf imprime neste comando:

$ printf '\n'

É também o número do caractere ASCII 10 (0a em hexadecimal) que é chamado de "line feed (LF)" em Listas ASCII

Na verdade, a Wikipédia tem uma página inteira sobre o assunto .

Se você quiser ver um valor numérico (em hexadecimal), ambos os comandos mostrarão:

$ printf '\n' | od -tx1
0000000 0a
0000001

$ printf '\n' | xxd -p
0a
    
por 25.01.2018 / 23:20
0

Refere-se ao caractere de nova linha literal (LF, decimal nº 10 em ASCII), um no final de cada linha . A barra invertida cria linhas de continuação, como neste script:

#!/bin/sh
echo foo\
bar

O script contém echo foo\↵bar , que se transforma em echo foobar quando a barra invertida-nova linha é removida. Por isso, gera foobar . (Experimente).

    
por 25.01.2018 / 23:37