Saída de texto para a tela usando o comando Linux Echo

Este guia mostra como enviar texto para o janela do terminal usando o Linux comando echo.

Usado sozinho no terminal, o comando echo não é particularmente útil, mas quando usado como parte do script, pode ser usado para exibir instruções, erros e notificações.

Exemplos de uso do comando Linux Echo

Em sua forma mais simples, a maneira mais fácil de enviar texto para o terminal é a seguinte:

echo "olá mundo"

O comando acima mostra as palavras "Olá Mundo"na tela (sem as aspas).

Linux echo output basic

Por padrão, a instrução echo produz um caractere de nova linha no final da string.

Para testar isso, tente a seguinte instrução em uma janela de terminal:

echo "hello world" && echo "goodbye world"

Você verá que o resultado é o seguinte:

Olá Mundo
adeus mundo

Você pode omitir o caractere de nova linha adicionando a opção menos n (-n) da seguinte maneira:

echo -n "hello world" && echo "goodbye world"
Linux echo sem nova linha

O resultado do comando acima é o seguinte:

ola mundo adeus mundo

Usando caracteres especiais

Outra coisa a se pensar ao usar a instrução echo é como ela lida com caracteres especiais.

Eco do Linux com caracteres especiais

Por exemplo, tente o seguinte em uma janela de terminal:

echo "olá mundo \ r \ ngoodbye mundo"

Em um mundo ideal, o \ r e \ n atuariam como caracteres especiais para adicionar uma nova linha, mas não o fazem. O resultado é o seguinte:

olá mundo \ r \ ngoodbye mundo

Você pode habilitar caracteres especiais usando o comando echo incluindo a opção -e da seguinte maneira:

echo -e "olá, mundo \ r \ ngoodbye, mundo"

Desta vez, o resultado será o seguinte:

Olá Mundo
adeus mundo

Você pode, é claro, estar na situação em que está tentando gerar uma string que seria tratada como um caractere especial e você não quer isso. Neste cenário, use um e maiúsculo da seguinte forma:

echo -E "olá mundo \ r \ ngoodbye mundo"

Quais caracteres especiais são tratados com a opção -e?

  • \\ barra invertida
  • \ um alerta
  • \ b backspace
  • \ c não produz mais saída
  • \ e escapar
  • \ f formulário feed
  • \ n nova linha
  • retorno de carro
  • \ t guia horizontal
  • \ v guia vertical
  • \ 0NNN valor octal com 1 a 3 dígitos
  • \ xHH byte com valor hexadecimal
Linux echo com outros caracteres especiais

Vamos tentar alguns desses. Execute o seguinte comando em um terminal:

echo -e "hel \ blo world"

O comando acima produziria o seguinte:

helo mundo

Obviamente, não é realmente o que você deseja imprimir na tela, mas você percebeu que a barra invertida b remove a letra anterior.

Agora tente o seguinte em uma janela de terminal:

echo -e "olá \ c mundo"

Este comando exibe tudo até a barra invertida e c. Todo o resto é omitido, incluindo a nova linha.

Caractere de linha e retorno de carro

Então, qual é a diferença entre um caractere de nova linha e um retorno de carro? O novo caractere de linha move o cursor para a próxima linha, enquanto o retorno do carro move o cursor de volta para o lado esquerdo.

Linux echo com retorno e nova linha

Como exemplo, digite o seguinte em sua janela de terminal:

echo -e "olá \ nmundo"

A saída do comando acima coloca as duas palavras em linhas diferentes:

Olá
mundo

Agora tente fazer isso em uma janela de terminal:

echo -e "olá \ rworld"

A diferença entre uma nova linha e o retorno do carro se tornará muito aparente, pois o seguinte será exibido como uma saída:

mundo

A palavra hello foi exibida, o retorno de carro levou o cursor para o início da linha e a palavra world foi exibida.

Torna-se um pouco mais óbvio se você tentar o seguinte:

echo -e "olá \ rhi"

A saída acima é a seguinte:

Olá. 

Na realidade, muitas pessoas ainda usam a notação \ r \ n ao enviar para uma nova linha. Freqüentemente, entretanto, você pode se safar com apenas um \ n.