Saída do eco dividido em duas linhas

-2

Está escrito no manual que /n dividirá a saída do comando echo para a próxima linha. Eu tentei:

echo -e 'hello /n world'
hello /n world

Esperando "mundo" na próxima linha. Eu falhei.

    
por Josef Klimuk 15.03.2018 / 12:41

4 respostas

10

Seu erro é usar /n em vez de \n .

Então, tente echo -e 'hello \nworld' e você terá o que espera.

Observe que eu removi o espaço entre \n e world . Senão a segunda linha começará com um espaço.

    
por rebrec 15.03.2018 / 12:46
3

\n é uma nova linha que não é /n

Você deve tentar isto:

echo -e 'hello \n world'
    
por Goran Vrbaški 15.03.2018 / 12:45
2

De man echo :

   -e     enable interpretation of backslash escapes

   -E     disable interpretation of backslash escapes (default)

   If -e is in effect, the following sequences are recognized:

   \     backslash

   \a     alert (BEL)

   \b     backspace

   \c     produce no further output

   \e     escape

   \f     form feed

   \n     new line

   \r     carriage return

   \t     horizontal tab

   \v     vertical tab

   
$ sh -c "echo -e 'hello \n world'"
-e hello 
world
NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) NOTE: your shell may have its own version of echo, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports.

Por favor, note a nota :) Por exemplo, em sh não há nenhuma opção -e para echo :

   -e     enable interpretation of backslash escapes

   -E     disable interpretation of backslash escapes (default)

   If -e is in effect, the following sequences are recognized:

   \     backslash

   \a     alert (BEL)

   \b     backspace

   \c     produce no further output

   \e     escape

   \f     form feed

   \n     new line

   \r     carriage return

   \t     horizontal tab

   \v     vertical tab

   
$ sh -c "echo -e 'hello \n world'"
-e hello 
world
NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) NOTE: your shell may have its own version of echo, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports.

Você pode ver -e como um texto normal, mas a saída de contrabarra é interpretada como é esperado.

    
por pa4080 15.03.2018 / 12:53
1

Uma alternativa direta é usar feeds de linha de manifesto na string citada,

echo "hello
world"

Se você quiser ver o alinhamento, pressione enter após o primeiro caractere de citação

echo "
hello beautiful
wonderful world"

e remova o avanço de linha para evitar uma primeira linha em branco da saída.

    
por sudodus 15.03.2018 / 13:59