.bashrc personalizado (colorido)

Se você é daqueles que não usa Linux por achar a “tela preta” (console/terminal) muito chata, complicada e sem vida, que tal deixar ela mais atraente aos olhos e claro, se empolgar para usar o Linux em modo console heim?

A dica de hoje é editar o .bashrc deixando ele colorido e colocando algumas novas funções. Não vou aprofundar e explicar o que é o arquivo .bashrc, o máximo que vou dizer é que esse arquivo fica na sua pasta de usuário ou seja

/home/usuário/.bashrc

ou simplesmente

~/.bashrc

. O Arquivo traz um ponto antes de seu nome, por ser um arquivo oculto. Dizendo a grosso modo, quando você se “loga” no sistema pelo console (ou mesmo o gnome-terminal) ele executa esse arquivo para ver suas variáveis de usuários, assim com alias de comandos, e várias outras definições, é nele que podemos editar a variável PS1, ela é a responsável por mostrar no seu terminal:

thiago@hostname:~ >

Essa variável pode ser editável, deixando ela colorida, mostrar ou ocultar opções, entre outras coisas, para saber mais sobre o .bashrc recomendo uma pesquisa no google, me limitarei aqui a mostrar como configurar ele, e deixa-lo colorido:

– Nas imagens abaixo estou usando o gnome-terminal como exemplo. Repare como esta sem graça, tudo branco.


Vamos deixar ele colorido, com a PS1 padrão que vem no Ubuntu 12.04, para isso abra seu arquivo .bashrc

$ vi ~/.bashrc

procure pela linha “force_color_prompt” descomente ela e marque como yes. Salve e saia do arquivo com <esc> :wq

Você pode deslogar (fechar o terminal) e logar novamente ou simplesmente abrir uma nova sessão do bash para ver como ficou usando o comando $ bash

As cores padrões são o verde para nome de usuário e hostname e o azul para pastas.
Para não perder muito tempo, eu criei um arquivo novo chamado bashrcNew, fiz um bashrc novinho, criando algumas variáveis para cores, e alguns aliases para os comandos que uso mais, segue o fonte de meu arquivo bashrc:

# *********************************************
# * ~/.bashrc Personalizado para Ubuntu	      *
# * System: Ubuntu 12.04 – Precise Pangolin   *
# * local: /home/user/.bashrc                 *
# *                                           *
# * Author: Thiago Nalli Valentim             *
# * E-Mail: thiago.nalli@gmail.com            *
# * Date: 2012-05-24                          *
# *********************************************
# ======================================================================
# Adaptado do original de Edinaldo P. Silva para Arch Linux
# URL: http://gnu2all.blogspot.com.br/2011/10/arch-linux-bashrc.html
# ======================================================================

#-----------------------------------------------
# Configurações Gerais
#-----------------------------------------------

# Se não estiver rodando interativamente, não fazer nada
[ -z "$PS1" ] && return

# Não armazenar as linhas duplicadas ou linhas que começam com espaço no historico
HISTCONTROL=ignoreboth

# Adicionar ao Historico e não substitui-lo
shopt -s histappend

# Definições do comprimento e tamnho do historico.
HISTSIZE=1000
HISTFILESIZE=2000

#===========================================
# Váriavies com as Cores
#===========================================
NONE="\[\033[0m\]" # Eliminar as Cores, deixar padrão)

## Cores de Fonte
K="\[\033[0;30m\]" # Black (Preto)
R="\[\033[0;31m\]" # Red (Vermelho)
G="\[\033[0;32m\]" # Green (Verde)
Y="\[\033[0;33m\]" # Yellow (Amarelo)
B="\[\033[0;34m\]" # Blue (Azul)
M="\[\033[0;35m\]" # Magenta (Vermelho Claro)
C="\[\033[0;36m\]" # Cyan (Ciano - Azul Claro)
W="\[\033[0;37m\]" # White (Branco)

## Efeito Negrito (bold) e cores
BK="\[\033[1;30m\]" # Bold+Black (Negrito+Preto)
BR="\[\033[1;31m\]" # Bold+Red (Negrito+Vermelho)
BG="\[\033[1;32m\]" # Bold+Green (Negrito+Verde)
BY="\[\033[1;33m\]" # Bold+Yellow (Negrito+Amarelo)
BB="\[\033[1;34m\]" # Bold+Blue (Negrito+Azul)
BM="\[\033[1;35m\]" # Bold+Magenta (Negrito+Vermelho Claro)
BC="\[\033[1;36m\]" # Bold+Cyan (Negrito+Ciano - Azul Claro)
BW="\[\033[1;37m\]" # Bold+White (Negrito+Branco)

## Cores de fundo (backgroud)
BGK="\[\033[40m\]" # Black (Preto)
BGR="\[\033[41m\]" # Red (Vermelho)
BGG="\[\033[42m\]" # Green (Verde)
BGY="\[\033[43m\]" # Yellow (Amarelo)
BGB="\[\033[44m\]" # Blue (Azul)
BGM="\[\033[45m\]" # Magenta (Vermelho Claro)
BGC="\[\033[46m\]" # Cyan (Ciano - Azul Claro)
BGW="\[\033[47m\]" # White (Branco)

#=============================================
# Configurações referentes ao usuário
#=============================================

## Verifica se é usuário root (UUID=0) ou usuário comum
if [ $UID -eq "0" ]; then

## Cores e efeitos do Usuario root

PS1="$G┌─[$BR\u$G]$BY@$G[$BW${HOSTNAME%%.*}$G]$B:\w\n$G└──>$BR \\$ $NONE"

else

## Cores e efeitos do usuário comum

 PS1="$BR┌─[$BG\u$BR]$BY@$BR[$BW${HOSTNAME%%.*}$BR]$B:\w\n$BR└──>$BG \\$ $NONE"

fi # Fim da condição if

## Exemplos de PS1

# PS1="\e[01;31m┌─[\e[01;35m\u\e[01;31m]──[\e[00;37m${HOSTNAME%%.*}\e[01;32m]:\w$\e[01;31m\n\e[01;31m└──\e[01;36m>>\e[00m"

# PS1='\[\e[m\n\e[1;30m\][$$:$PPID \j:\!\[\e[1;30m\]]\[\e[0;36m\] \T \d \[\e[1;30m\][\[\e[1;34m\]\u@\H\[\e[1;30m\]:\[\e[0;37m\]${SSH_TTY} \[\e[0;32m\]+${SHLVL}\[\e[1;30m\]] \[\e[1;37m\]\w\[\e[0;37m\] \n($SHLVL:\!)\$ '}

# PS1="\e[01;31m┌─[\e[01;35m\u\e[01;31m]──[\e[00;37m${HOSTNAME%%.*}\e[01;32m]:\w$\e[01;31m\n\e[01;31m└──\e[01;36m>>\e[00m"

# PS1="┌─[\[\e[34m\]\h\[\e[0m\]][\[\e[32m\]\w\[\e[0m\]]\n└─╼ "

# PS1='[\u@\h \W]\$ '

#==========================
# DIVERSOS
#==========================

## Habilitando suporte a cores para o ls e outros aliases
## Vê se o arquivo existe
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"

## Aliases (apelidos) para comandos
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi # Fim do if do dircolor

## Aliases (apelidos) diversos

# Editar sources.list
alias lists='sudo vim /etc/apt/sources.list'

# atualizar o apt-get
alias upd='sudo apt-get update'

# Reparar o apt-get
alias aptrepair='sudo apt-get -f install'

# Reparar o dpkg
alias dpkgrepair='sudo dpkg --configure -a'

#==============================================
# Aliases para uso no dia-a-dia e testes
#==============================================

# Testar conexão com ping
alias google='ping -t 3 www.google.com.br' # Ping ao google a cada 3 segundos
alias uol='ping -t 3 www.uol.com.br' # Ping ao UOL a cada 3 segundos

após criar o seu novo, faça o backup do antigo e substitua pelo novo arquivo que criou. Pode se usar o comando cp (copy) ficando assim:

$ cp .bashrc .bashrc.old
$ cp bashrcNew .bashrc

não esqueça do ponto antes do nome.

As cores que você pode usar são essas:

Cores no bash

Esse é como ficou o meu, e um amigo de trabalho disse que é um “bash Restart” referencia aquela bandinha EMO toda colorida sabe. 🙂

Deixei o usário comum, com cores diferente do usuário root, o mesmo arquivo .bashrc copiei para a pasta /root e para minha home de usuário /home/thiago por isso no meu código você encontra a linha que verifica se é o usuário root

if [ $UID -eq "0" ]; then

Me inspirei no modelo de PS1 disponibilizado pelo Edinaldo no Blog dele, onde ele fez um para o Arch Linux: http://gnu2all.blogspot.com.br/2011/10/arch-linux-bashrc.html

Por hoje é só, até a próxima.

Have a Fun!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s