você está aqui: Home → Colunistas → Cantinho do Shell
Por Jose Fernando Scheid Mascarenhas
Data de Publicação: 23 de Outubro de 2007
Incluir caracteres de controle no corpo de um shell script, apesar de funcionar, não é uma boa pratica. Podem ocorrer problemas em determinados editores ou mesmo "endoidar" a impressora ao tentarmos imprimir o script.
O mais correto e utilizar a opção -e do comando echo e informar valor octal do caractere ESCAPE da seguinte forma:
echo -e "\033[7m TESTE REVERSO \033[m"
ou se preferir:
ESC="\033" echo -e "${ESC}[7m TESTE REVERSO{ESC}[m"
Porém, se você estiver no polo norte, sentado em frente a um terminal WYSE-60 (o primeiro terminal a gente nunca esquece), ligado à um servidor Linux na porta COM1, à incrível velocidade de 38400 bps, seu script irá falhar.
Para torna-lo portável utilize o comando tput para buscar as características, específicas de cada terminal no banco de dados TERMINFO.
Assim sendo o script ficaria:
VREV=`tput rev` # Reverso VNOR=`tput sgr0` # Normal VPIS=`tput blink` # Sublinhado VBRI=`tput bold` # Escuro FVMO=`tput setab 1` # Fundo vermelho CVMO=`tput setaf 1` # Caracter Vermelho .... .... .... echo "${VREV} REVERSO ${VNOR}" echo "${VPIS} PISCANTE ${VNOR}" echo "${VREV}${VPIS} REV E PISCANTE ${NOR}"
Tanto você quanto os esquimós ficarão felizes para sempre.
Esta dica foi publicada originalmente na Dicas-L em 25 de setembro de 2007