De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Jose Fernando Scheid Mascarenhas
Data de Publicação: 25 de Setembro 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.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários