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


  • v
  • d
  • e
Arquivos
  • cat
  • cd
    • popd
    • pushd
  • chattr
  • chmod
  • chown
  • chflags
  • chgrp
  • cksum
  • cp
  • cmp
  • curl
  • dd
  • du
  • df
  • file
  • fsck
  • less
  • ln
  • ls
  • lsof
  • mkdir
  • more
  • mv
  • pax
  • pwd
  • rm
  • rmdir
  • split
  • size
  • tee
  • touch
  • tree
  • type
  • umask
Processos e tarefas
  • anacron
  • at
  • bg
  • chroot
  • crontab
  • jobs
  • kill
  • killall
  • nice
  • fg
  • pgrep
  • pidof
  • pkill
  • ps
  • pstree
  • time
  • top
  • wait
Ambiente e usuários
  • clear
  • env
  • exit
  • finger
  • history
  • id
  • locale
  • logname
  • mesg
  • passwd
  • su
  • sudo
  • talk
  • tput
  • ulimit
  • uname
  • umask
  • uptime
  • w
  • wall
  • who
  • whoami
  • write
Processamento de texto
  • awk
  • banner
  • basename
  • comm
  • csplit
  • cut
  • diff
  • dirname
  • disown
  • ed
  • ex
  • fmt
  • fold
  • head
  • iconv
  • join
  • less
  • more
  • nl
  • paste
  • sed
  • sort
  • spell
  • strings
  • tail
  • tr
  • uniq
  • vi
  • wc
  • xargs
Shell
  • alias
  • bind
  • break
  • compgen
  • complete
  • continue
  • echo
  • expr
  • history
  • printf
  • read
  • sh
  • shopt
  • source
  • test
  • true
  • false
  • unset
  • wait
  • yes
Redes e comunicação
  • dig
  • ifconfig
  • inetd
  • netstat
  • nslookup
  • ping
  • rlogin
  • route
  • ssh
  • traceroute
Busca
  • find
  • grep
  • strings
  • locate
  • whatis
  • whereis
Documentação
  • apropos
  • help
  • man
Miscelâneas
  • bc
  • dc
  • cal
  • date
  • lp
  • lpr
  • od
Comandos geralmente implementados no interpretador.
Comando geralmente implementados, tanto como executáveis, como quanto no interpretador.