Echo (comando)

Em Informática, echo é um comando disponível no Unix que apresenta um texto na tela de um terminal de computador. É um comando utilizado em scripts para exibir mensagens na tela ou em um arquivo. O comando também está presente no DOS, no Linux, no Mac OS, no OS/2 e no Windows.[1]

Exemplo de utilização

$ echo "Este é um teste"
Este é um teste
$ echo Este é mais um teste > teste.txt
$ cat teste.txt
Este é mais um teste

Alguns terminais podem apresentar cores, utilizando sequências de controle SGR:

FGRED=`echo "\033[31m"`
FGCYAN=`echo "\033[36m"`
BGRED=`echo "\033[41m"`
FGBLUE=`echo "\033[35m"`
BGGREEN=`echo "\033[42m"`

NORMAL=`echo "\033[m"`

após as definições, podemos escrever :
echo "${FGBLUE} Texto em azul ${NORMAL}"
echo "Texto normal"
echo "${BGRED} Fundo em vermelho"
echo "${BGGREEN} Fundo em verde e de volta para o normal ${NORMAL}"

Em sistemas derivados do UNIX, como o Linux, o comando echo pode receber parâmetros. Por exemplo, no Linux, a opção -e indica que as sequências de comando devem ser processadas. O comando printf é um comando alternativo, que sempre processa as sequências de controle recebidas. Na especificação POSIX, o comando echo não recebe parâmetros.[2]

Utilização em logging de dados

É comum utilizar o echo em scripts ativados pelo cron.

echo "Seu script está sendo executado agora" >> aviso.txt

O Linux possui um diretório específico para armazenamento de logs, cujo caminho é: /var/log/

Exemplo de implementação

O comando echo pode ser implementado na linguagem C em poucas linhas de código:

#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
  int i;
  for (i = 1; i < argc-1; i++)
  {
    (void) printf("%s%s", argv[i], " ");
  }
  (void) printf("%s%s", argv[argc-1], "\n");
  return EXIT_SUCCESS;
}

Linguagens de script também podem simular o comando echo de maneira muito simples:

$ perl -e 'print join " ", @ARGV; print "\n"' Isto é um teste.
Isto é um teste.
$ python -c "import sys; print ' '.join(sys.argv[1:])" Isto é um teste.
Isto é um teste.

Exemplo de utilização com o Arquivo de Teste EICAR

Combinados os comandos echo e tee, com esses comandos, é possível criar um arquivo executável do DOS ou Windows com a simulação de vírus do Arquivo de Teste EICAR e multiplicá-lo em vários executáveis com nomes diferentes.

$ echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' | tee EICAR.EXE EICAR1.EXE EICAR2.EXE EICAR3.EXE EICAR4.EXE EICAR5.EXE EICAR6.EXE EICAR7.EXE EICAR8.EXE EICAR9.EXE EICAR0.EXE
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Ver também

Notas e Referências

  1. «The echo Command». linfo.org (em inglês). Consultado em 16 de maio de 2015 
  2. IEEE Std 1003.1, 2004, documentação para o comando echo