Formatar o terminal com cores e efeitos
Publicado por Joanes Pereira Duarte (última atualização em 08/11/2012)
[ Hits: 8.323 ]
Este script é baseado no livro do Aurélio Marinho Jargas. Fiz como exercício para meu aprendizado. Como já "suguei" muito conhecimento do site, resolvi postar para contribuir e talvez ajudar alguém, assim como muitas vezes fui ajudado aqui :)
Em resumo, este script serve para testar a combinação de cores de palavras/frases com cores de fundo. No meio tem algumas "firulas", como "limpar a tela", mostrar mensagem por um tempo e apagar... Coisa de principiante mesmo!
Enfim, segue o dito-cujo...
#!/bin/bash
# cores.sh
# Baseado no livro Shell Script Profissiona de Aurélio Jargas
#
# Versão 1: Formata cor do texto e fundo de palavra ou texto
# passada como parâmetro.
#
# Joanes Duarte, Outubro 2012
#
###########################################
# Exemplo: $./cores.sh teste #
# Obs.: Frases com espaços devem ser passadas entre aspas ("")#
###########################################
# Variáveis
_TEXTO_BRILHO=0
_FUNDO_PISCA=0
_USO="
Uso: $(basename "$0") [palavra]
Obs.: Caso queira formatar uma frase, coloque-a entre aspas duplas.
"
if [ -z $1]
then
echo "$_USO"
exit
fi
clear
# Seleção das opções de cores do texto
echo "Escolha a opção de cor do texto:"
echo "
[30] PRETO (OU CINZA) [31] VERMELHO
[32] VERDE [33] MARROM (OU AMARELO)
[34] AZUL [35] ROXO
[36] CIANO [37] CINZA (OU BRANCO)
"
read COR
case $COR in
30) _COR_TEXTO=30 ;;
31) _COR_TEXTO=31 ;;
32) _COR_TEXTO=32 ;;
33) _COR_TEXTO=33 ;;
34) _COR_TEXTO=34 ;;
35) _COR_TEXTO=35 ;;
36) _COR_TEXTO=36 ;;
37) _COR_TEXTO=37 ;;
*) clear && echo "Opções de cores do texto entre 30 e 37."
sleep 3; clear; exit
;;
esac
clear
# Seleção das opções da cor de fundo
echo "Escolha a opção de cor de fundo do texto:"
echo "
[40] PRETO (OU CINZA) [41] VERMELHO
[42] VERDE [43] MARROM (OU AMARELO)
[44] AZUL [45] ROXO
[46] CIANO [47] CINZA (OU BRANCO)
"
read FUNDO
case $FUNDO in
40) _COR_FUNDO=40 ;;
41) _COR_FUNDO=41 ;;
42) _COR_FUNDO=42 ;;
43) _COR_FUNDO=43 ;;
44) _COR_FUNDO=44 ;;
45) _COR_FUNDO=45 ;;
46) _COR_FUNDO=46 ;;
47) _COR_FUNDO=47 ;;
*) clear && echo "Opções de cores de fundo entre 40 e 47."
sleep 3; clear; exit
;;
esac
clear
# Opção para mostrar o texto "brilhante"
echo "Mostrar cor do texto brilhante?"
echo "
[S]im [N]ão
"
read BRILHANTE
case $BRILHANTE in
S | s) _TEXTO_BRILHO=1 ;;
N | n) _TEXTO_BRILHO=0 ;;
*) clear && echo "Somente S ou N."
sleep 3; clear; exit
;;
esac
clear
# Opção para mostrar o fundo pisca-pisca
echo "Mostrar fundo PISCA-PISCA?"
echo "
[S]im [N]ão
"
read PISCA
case $PISCA in
S | s) _FUNDO_PISCA=5 ;;
N | n) _FUNSO_PISCA=0 ;;
*) clear && echo "Somente S ou N."
sleep 3; clear; exit
;;
esac
clear
# Formata opções de cor de fundo e cor do texto
texto_formatado="$_COR_FUNDO;$_COR_TEXTO"
# Testa as opções de 'fundo pisca-pisca' e 'texto brilhante'
test "$_TEXTO_BRILHO" = 1 && texto_formatado="$texto_formatado;1"
test "$_FUNDO_PISCA" = 5 && texto_formatado="$texto_formatado;5"
# Mostra formatação ao usuário
echo -e '{FONTE}33['"$texto_formatado"'m' "$1" '{FONTE}33[m'
Dicionário on-line via linha de comando
Script para instalação de Aplicativos
Pegando as informações do usuario
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
É normal não gostar de KDE? (15)
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)









