Postagem em destaque

Criando bot do Telegram em Shell script com ShellBot

echo

Sobre

Imprime uma linha de texto na tela.

Visão geral

O echo é um dos comandos mais fundamentais encontrado na maioria dos sistemas operacionais que oferecem uma linha de comando. É utilizado em scripts, arquivos de lote e como parte de comandos individuais. Sempre irá precisa exibir um texto na tela.

Sintaxe

echo [OPCAO-CURTA]... [TEXTO]...
echo OPCAO-LONGA

Descrição

-n Não insere uma nova linha.
-e Permite a interpretação da barra invertida para sequência de escape.
-E Desativa a interpretação de sequência de escape de barra invertida. (padrão)
--help Exibe ajuda e sai
--version Exibe informação sobre a versão e sai.










Se especificar a opção -e. as seguintes sequências de escape são reconhecidas:

\a Emite um alerta. (Carácter BELL)
\b Carácter de retrocesso (Backspace)
\c Suprime a saída depois disso.
\e O carácter de escape; Equivalente a pressionar a tecla ESC.
\f Alimentação de formulário.
\n Nova linha.
\r Retorno de carro.
\t Tabulação horizontal.
\v Tabulação vertical.
\0nnn Byte com valor octal nnn (pode ser de 1 a 3 dígitos).
\xHH Byte com valor hexadecimal (pode ser de 1 a 2 dígitos).
Nota: Cada shell geralmente tem sua própria implementação do echo, que pode ser ligeiramente diferente da versão descrita. Consulte a documentação do seu shell para obter detalhes sobre as opções suportadas.

Exemplos


1.1 Imprimindo um texto na tela.
$ echo 'Shell Script X'
Shell Script X

1.2 Imprimindo uma sequência de caracteres, interpretando o valor da variável.
$ IDADE=34
$ echo "Eu tenho $IDADE anos."
Eu tenho 34 anos.

1.3 Removendo os espaços entre as palavras do texto.
$ echo -e "Estou \bprogramando \bem \bshell \bscript."
Estouprogramandoemshellscript.
O efeito gerado pelo caractere de escape, foi como se o usuário pressionasse a tecla Backspace na posição de cada espaço entre as palavras.

1.4 Suprimindo a impressão de parte do texto.
$ echo -e "Depois desse ponto\c nada será impresso."
Depois desse ponto
A expressão 'nada será impresso.' foi completamente ignorada pelo echo ao encontrado o caractere de escape '\c'

1.5 Inserindo uma tabulação no texto.
$ echo -e "Texto normal\n\tUm parágrafo."
Texto normal
    Um parágrafo.
Foi inserida uma nova linha logo após a primeira expressão seguido do caractere '\t' que inserem espaçamentos antes da segunda expressão.

1.6 Imprimindo a letra 'A' usando a base hexadecimal.
$ echo -e '\x41'
A

Cores e efeitos

Através de uma sequência de caracteres de escape podemos criar textos com cores e efeitos.

Sintaxe

echo -e '\033[E;F;B m texto'

Detalhes
\033 Sequência de escape para caracteres não imprimíveis, utilizado para escape de cores, podendo ser substituído por '\e'
E Código de efeito.
F Código da cor do texto; um valor de 30 à 37.
B Código de cor de fundo; um valor de 40 à 47.
m Representa o fim da sequência de cores.

Tabela de códigos
Efeito Cor do texto Cor de fundo
00: Nenhum 30: Preto 40: Preto
01: Negrito 31: Vermelho 41: Vermelho
04: Sublinhado 32: Verde 42: Verde
05: Piscar 33: Amarelo 43: Amarelo
07: Reverso 34: Azul 44: Azul
08: Oculto 35: Rosa 45: Rosa

36: Azul claro 46: Azul claro

37: Branco 41: Branco

Exemplos

1.7 Imprimindo texto em vermelho com fundo verde.
$ echo -e '\033[31;42m Meu texto\033[0m'
Meu texto
O uso da sequência '\033[0m', faz com que o 'echo' reset as definições de cores ao final da expressão, evitando que os textos posteriores recebam a cor definida anteriormente.

1.8 Imprimindo o primeiro texto na cor azul com fundo amarelo sem resetar as definições de cores e em sequência realiza a impressão de mais dois textos.
$ echo -e '\033[34;43m texto com cor'; echo 'texto sem cor 1'; echo 'texto sem cor 2'
texto com cor
texto sem cor 1
texto sem cor 2

Note que mesmo sem definir uma cor para os demais textos, ele acabaram assumindo a definição anterior.

1.9 Imprimindo o logo do YouTube.
$ echo -e '\033[0;30;47mYou\033[0;37;41mTube\033[0;m'
YouTube

2.0 Imprimindo o logo do Facebook sublinhado.
$ echo -e '\033[04;37;44mFacebook\033[0;m'
Facebook

Podemos criar inúmeras combinações de cores e efeitos. Abaixo está uma imagem contendo todas as combinações possíveis:

Comentários

  1. Já usei muito esse comando em alguns scripts meus, entretanto, algum tempo depois comecei a usar o comando "tput" o qual achei um pouco mais intuito.
    Tirem suas conclusões em "http://linuxcommand.org/lc3_adv_tput.php"

    ResponderExcluir
    Respostas
    1. O 'tput' é top demais. Dá para fazer muito implementação bacana com ele. Inclusive fiz uma brincadeira que batizei de 'saverloco.sh'.

      http://shellscriptx.blogspot.com.br/2016/11/descanso-de-tela-muito-louco.html

      Excluir

Postar um comentário

Contato

Nome

E-mail *

Mensagem *