Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Criado por:
- # Gabriel Marques
- # snortt@gmail.com
- # Sep 01 2001
- # Este arquivo pode ser utilizado para gerenciar as cores da variavel PS1
- #
- #
- # Algumas consideracoes sobre a variavel PS1:
- # -------------------------------------------
- # Caracteres Especiais:
- # ---------------------
- # \a - Caractere ASCII para o beep (speaker). Voce tambem pode digitar \007
- # \d - Data no formato "Mon Sep 09"
- # \e - Caractere ASCII 'escape'. Voce tambem pode digitar \003
- # \h - Imprime o nome da maquina, ex: darkstar
- # \H - Imprime o nome completo da maquina, ex: darkstar.tux.net
- # \j - Imprime o numero de processos interrompidos por ^Z no shell atual
- # \l - Imprime o nome do dispositivo que representa o terminal do shell atual, ex: tty1
- # \n - Nova linha
- # \r - Retorno de carro (carriage return)
- # \s - Imprime o nome do executavel do shell atual, ex: bash
- # \t - Imprime a hora no formato 24h
- # \T - Imprime a hora no formato 12h
- # \@ - Imprime a hora no formato 12h com am/pm
- # \u - Imprime o username do usuario logado no shell atual
- # \v - Imprime a versao do shell, ex: 2.04
- # \V - Imprime a versao do shell, incluindo patches
- # \w - Imprime o diretorio atual no formato PWD, ex: "/home/damien/scripts"
- # \W - Imprime o nome do diretorio atual, ex: "scripts"
- # \! - Imprime a posicao dos comandos no history
- # \# - Imprime o numero de comandos digitados
- # \$ - Se voce for o root, imprime '#', caso contrario imprime '$'
- # \XXX - Imprime o caractere ASCII representado pelo valor que substituir XXX, ex: 007, 003
- # \\ - Imprime uma contra-barra
- # \[ - Estes caracteres devem aparecer antes de caracteres que nao movam o curor
- # ou nao ecoem na tela (ex: os caractere de cores), isto permite que o shell
- # gerencie corretamente as quebras de linha, caso estas ultrapassem o numero de
- # colunas disponiveis na tela
- # \] - Estes caracteres devem aparecer depois de caracteres que nao ecoem na tela
- # Estes dois ultimos grupos de caracteres sao importantes quando precisamos informar
- # ao shell que determinados caracteres nao ocuparao lugar na linha
- # de comando em que estiverem aparecendo.
- #
- # OBS: As sequencias de caracteres de cor aplicadas a variavel PS1 devem estar representadas
- # entre dois marcadores e separadas por ';'
- # Marcador inicial: \e[ (contrabarra + 'e' + colchete inicial)
- # Marcador final: m ('m')
- #
- # Para restaurar as cores do prompt para seus valores iniciais, utiliza-se o valor 0 (zero).
- # ex: export PS1="\e[0m"
- #
- # Valores para as Cores:
- # ----------------------
- #
- # As cores estao divididas em duas categorias de 8 cores cada uma:
- # Cores do texto - valores entre 30 e 37
- # Cores do fundo - valores entre 40 e 47
- # Cada pode conter ainda um marcador que indica se esta cor estara normal(normal do shell)
- # ou em negrito(o que tornara seu brilho mais intenso).
- # O negrito e habilitado por um caractere 1 logo apos a cor desejada
- #
- # Cores do texto:
- # ---------------
- # texto: 30-preto; 31-vermelho; 32-verde; 33-amarelo; 34-azul; 35-rosa; 36-ciano; 37-branco
- # fundo: 40-preto; 41-vermelho; 42-verde; 43-amarelo; 44-azul; 45-rosa; 46-ciano; 47-branco
- #
- # Se voce quiser mudar seu prompt para vermelho com fundo azul, por exemplo, voce deve utilizar:
- # export PS1="\e[31;44m "
- # E claro que isto ira gerar um prompt muito simples e pouco informativo ;-)
- #
- # DETALHE: O texto imediatamente apos o prompt sempre tera a ultima cor especificada na variavel
- # PS1 !!! Para corrigir este problema, precisamos forcar o shell a restaurar o esquema de cores
- # padrao sempre apos o ultimo caractere colorido da variavel PS1.
- # Assim, o exemplo anterior ficaria:
- #
- # export PS1="\e[31;44m \e[0m"
- #
- # Se voce achou que o vermelho ficou um pouco sem graca frente ao fundo azul, voce pode habilitar
- # o negrito para o vermelho. Assim, teriamos:
- #
- # export PS1="\e[31;1;44m \e[0m"
- #
- # E completamente aceitavel que esta linha aumente conforme o numero de cores escolhidas.
- # Para evitar problemas com tamanhos de tela em colunas e quebras de linha inesperadas,
- # precisamos utilizar os caracteres especiais que forcam o shell a ignorar estes caracteres para
- # a linha de comando. Assim, a linha ficaria:
- #
- # export PS1="\[\e[31;1;44m\] \[\e[0m\]"
- #
- # Veja agora um exemplo de aplicacao dos caracteres especiais da variavel PS1
- # (execute esta linha e veja o que acontece ! )
- #
- # export PS1="\[\e[33;1m\]\u\[\e[34;1m\]@\[\e[31;1m\]\h\[\e[32;1m\]$ \[\e[0m\]"
- #
- # Definicao das cores para o texto normal:
- # ----------------------------------------
- #
- TPRETO='\[\e[30m\]'
- TVERMELHO='\[\e[31m\]'
- TVERDE='\[\e[32m\]'
- TAMARELO='\[\e[33m\]'
- TAZUL='\[\e[34m\]'
- TROSA='\[\e[35m\]'
- TCIANO='\[\e[36m\]'
- TBRANCO='\[\e[37m\]'
- # Definicao das cores para o fundo normal:
- # ----------------------------------------
- #
- FPRETO='\[\e[40m\]'
- FVERMELHO='\[\e[41m\]'
- FVERDE='\[\e[42m\]'
- FAMARELO='\[\e[43m\]'
- FAZUL='\[\e[44m\]'
- FROSA='\[\e[45m\]'
- FCIANO='\[\e[46m\]'
- FBRANCO='\[\e[47m\]'
- #
- # Definicao das cores para o texto negrito:
- # -----------------------------------------
- #
- TPRETOB='\[\e[30;1m\]'
- TVERMELHOB='\[\e[31;1m\]'
- TVERDEB='\[\e[32;1m\]'
- TAMARELOB='\[\e[33;1m\]'
- TAZULB='\[\e[34;1m\]'
- TROSAB='\[\e[35;1m\]'
- TCIANOB='\[\e[36;1m\]'
- TBRANCOB='\[\e[37;1m\]'
- # Definicao das cores para o fundo negrito:
- # -----------------------------------------
- #
- FPRETOB='\[\e[40;1m\]'
- FVERMELHOB='\[\e[41;1m\]'
- FVERDEB='\[\e[42;1m\]'
- FAMARELOB='\[\e[43;1m\]'
- FAZULB='\[\e[44;1m\]'
- FROSAB='\[\e[45;1m\]'
- FCIANOB='\[\e[46;1m\]'
- FBRANCOB='\[\e[47;1m\]'
- # Restaurando as cores para o padrao:
- # ---------------------------------
- #
- RESET='\[\e[0m\]'
- # Agora voce podera utilizar os NOMES das cores na sua variavel PS1. Basta incluir uma
- # chamada para este arquivo no fim do seu .bash_profile. Voce tambem pode, por exemplo,
- # copiar este arquivo para o diretorio /etc e importa-lo de la.
- #
- # Exemplo: no arquivo .bash_profile adicione/edite as seguintes linhas:
- #
- # . /etc/cores.defs
- # PS1="${TAMARELOB}[${TVERDEB}\u${TAMARELOB}@${TAZULB}\h ${TBRANCOB}\W${TAMARELOB}]${TVERMELHOB}\\$ $RESET"
- #
- # OBS: Sempre que voce finalizar sua configuracao de cores (texto e/ou fundo), lembre-se de
- # sempre restaurar ($RESET) as cores apos o ultimo caractere colorizado pelo seu prompt !!!
- # Caso contrario voce podera ter problemas do tipo:
- # Texto de linhas de comando na mesma cor do ultimo caractere do prompt
- # Cores de fundo se extendendo por todas as colunas de uma linha
- #
- # Divirta-se e lembre-se: O Shell é o limite!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement