Ao usar este site, você concorda com a Política de Privacidade e os Isenção de parceria e publicidade.
Aceito
SempreUpdate SempreUpdate
  • Home
  • Notícias
  • Tutoriais
  • Android
  • Games
  • Contato
Buscar
  • Contact
  • Contact
  • Blog
  • Blog
  • Complaint
  • Complaint
  • Advertise
  • Advertise
© 2022 SempreUpdate - Todos os Direitos Reservados
LENDO: Como personalizar o Bash do Linux
Compartilhe
Entrar
Notificações Veja mais
Últimas notícias
cumulonimbus-otimo-cliente-podcast-para-linux
Cumulonimbus: Ótimo Cliente Podcast para Linux
02/07/2022
vym-uma-ferramenta-para-criar-mapas-mentais-no-linux
VYM: Uma ferramenta para criar mapas mentais no Linux
02/07/2022
20-coisas-legais-do-inkscape-para-designers
20 coisas legais do Inkscape para designers
02/07/2022
como-fazer-sorteio-utilizando-o-terminal-linux-com-comando-shuf
Como fazer sorteio utilizando o Terminal Linux com comando shuf
02/07/2022
player-de-linha-de-comando-linux-para-spotify-youtube-e-outros-servicos-de-transmissao
Player de Linha de Comando Linux para Spotify, YouTube e Outros Serviços de streaming!
02/07/2022
Aa
SempreUpdate SempreUpdate
Aa
  • Home
  • Notícias
  • Tutoriais
  • Android
  • Games
  • Contato
Buscar
  • Home
  • Notícias
  • Tutoriais
  • Android
  • Games
  • Contato
Have an existing account? Entrar
Siga-nos
  • Contact
  • Contact
  • Blog
  • Blog
  • Complaint
  • Complaint
  • Advertise
  • Advertise
© 2022 SempreUpdate - Todos os Direitos Reservados
SempreUpdate > Blog > Linux > Como personalizar o Bash do Linux
Linux

Como personalizar o Bash do Linux

Glauber GF
Glauber GF 03/04/2018
Atualizado em 10/05/22 às 10:44 AM
Compartilhe
Como mostrar a branch do Git no Bash
COMPARTILHE

Que tal aprender como personalizar o Bash do Linux, deixando ao seu estilo e criando uma personalização ao seu gosto? Bash é o shell do Projeto GNU. Bash é o Bourne Again SHell. O Bash é um shell compatível com sh que incorpora recursos úteis do shell Korn (ksh) e do shell C (csh). Pretende-se que esteja em conformidade com a norma IEEE POSIX P1003.2 / ISO 9945.2 Shell and Tools. Oferece melhorias funcionais sobre sh para programação e uso interativo. Além disso, a maioria dos scripts sh pode ser executada pelo Bash sem modificação. O Bash é um interpretador de comandos, um entre os diversos tradutores entre o usuário e o sistema operacional conhecidos como shell.

Para mais detalhes sobre o Bash e sua documentação, visite a página do projeto e do manual clicando nos botões abaixo.

BASH

MANUAL DO BASH

Para quem deseja se aventurar, visite o Canivete Suíço do Shell (Bash) clicando no botão abaixo.

Canivete Suíço do Shell (Bash)

Identificando o arquivo de configuração do Bash

Na maioria das distribuições GNU/Linux o Bash já vem por padrão, logo, caso sua distribuição não tenha o Bash, você pode instalá-lo sem problema. Nesse tutorial veremos a personalização no sistema Debian.

Na imagem abaixo, vemos como está o Bash padrão após a instalação do sistema Debian.

Bash - padrão
Bash – padrão

Vemos que a linha padrão a espera da execução do comando tem a sintaxe usuário@host_máquina diretório_atual

Para que possamos personalizar o Bash, devemos editar o arquivo de configuração “.bashrc” que está localizado no diretório do usuário.

O arquivo .bashrc é oculto, lembrando que todo arquivo/diretório com o ponto ( . ) na frente é referenciado como oculto, assim com as teclas Ctrl+h é mostrado/ocultado os arquivos/diretórios ocultos.

Home do usuário - arquivos ocultos
Home do usuário – arquivos ocultos

Após mostrar os arquivos ocultos, ao localizar e abrir o arquivo .bashrc, vemos seu conteúdo abaixo:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
    else
        color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
   PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'
    #alias grep='grep --color=auto'
    #alias fgrep='fgrep --color=auto'
    #alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Opções para personalizar o Bash

Com o comando man bash você encontrará toda referência para utilizar e configurar o Bash, logo, vejamos abaixo alguns parâmetros para colocar em seu .bashrc:

  • \d – a data no formato “dia da semana mês data”
  • \h – o seu hostname sem o grupo de trabalho
  • \H – o seu hostname com o grupo de trabalho
  • \n – nova linha
  • \s – o nome do shell
  • \t – a hora no formato (24 horas) HH:MM:SS
  • \T – a hora no formato (12 horas) HH:MM:SS
  • \@ – a hora no formato (12 horas) AM / PM
  • \A – a hora no formato (24 horas) AM / PM
  • \u – o usuário que está usando o shell
  • \v – a versão do bash (ex. 4.4)
  • \V – a versão + patch do bash (ex. 4.4.12)
  • \w – o caminho completo do diretório atual, com $HOME abreviado com um ‘til’
  • \W – apenas o nome do diretório atual, com $HOME abreviado com um ‘til’
  • \$ – o simbolo # (caso root) ou $ (outros usuários)
  • \\ – uma barra invertida

Podemos também editar a cor da fonte, o atributo da fonte (negrito por exemplo) e a cor de fundo da fonte.

A sintaxe

'\e[COR_DE_FUNDO;ATRIBUTO_DA_FONTE;COR_DA_FONTEm \e[m'

Vejamos as opções que temos para editar.

Atributo da fonte

00 - Reset (Nenhum) 
01 - Negrito 
04 - Sublinhado 
05 - Piscante 
07 - Reverso 
08 - Oculto

Cor da fonte

30 - Preto
31 - Vermelho
32 - Verde
33 - Amarelo
34 - Azul
35 - Magenta (Rosa)
36 - Ciano (Azul Claro)
37 - Branco

Cor de fundo

40 - Preto
41 - Vermelho
42 - Verde
43 - Amarelo
44 - Azul
45 - Magenta (Rosa)
46 - Ciano (Azul Claro)
47 - Branco

Exemplo de uma linha da variável PS1 editada.

PS1='\e[41;01;32m\u \e[01;37m\h \e[01;33m\d \e[01;33m\W \$ \e[m'

Na linha acima temos como parâmetro a cor de fundo da linha como vermelho, o usuário com a cor verde, o host com a cor branca, a data, o diretório atual (home) e o símbolo do usuário logado com a cor amarela.

Bash - exemplo
Bash – exemplo

Configurar o Bash

Agora que já sabemos os parâmetros que podemos usar para personalizar o Bash, devemos encontrar a linha da variável PS1 referente ao shell, que no nosso caso no arquivo .bashrc acima fica na linha de número 69 que esta destacado em negrito. Para não perdermos a configuração atual, vamos comentar essa linha da variável PS1 e acrescentar outra com a devida personalização ao estilo do usuário.

Em nossa personalização, vamos comentar a linha abaixo colocando o carácter especial # na frente da linha.

#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
Bash - editando
Bash – editando

Abaixo da linha comentada, acrescentamos nossa linha personalizada, ficando à vocês personalizar de melhor forma possível ao seu estilo. No nosso caso, vamos deixar como a linha abaixo.

PS1="\e[01;31m??[\e[01;36m\u\e[01;31m]?\e[01;31m[\e[01;37m\h\e[01;31m]?\e[01;31m[\e[01;35m\d\e[01;31m]?\e[01;31m[\e[01;32m\t\e[01;31m]?\e[01;31m[\e[01;33m\w\e[01;31m]:\e[01;31m\n\e[01;31m???\e[01;36m >>> \e[01;31m\$ \e[00m"
Bash - editado
Bash – editado
Bash - editado
Bash – editado

Após a personalização, localize o trecho do arquivo .bashrc e descomente (entre as linhas 80 e 85) retirando o carácter especial # da frente das linhas, ficando como o trecho abaixo.

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    alias dir='dir --color=auto'
    alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

Assim quando logar como root, o símbolo de usuário $ mudará para o root #.

Para deixar o Bash do root da mesma forma como personalizado para o usuário comum, vamos acrescentar o conteúdo abaixo no final da linha do arquivo /root/.bashrc.

######## ACRESCENTADO PARA PERSONALIZAÇÃO DO BASH DO ROOT ########

# If not running interactively, don't do anything
case $- in
    *i*) ;;
    *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
    else
        color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    PS1='\e[01;31m??[\e[01;36m\u\e[01;31m]?\e[01;31m[\e[01;37m\h\e[01;31m]?\e[01;31m[\e[01;35m\d\e[01;31m]?\e[01;31m[\e[01;32m\t\e[01;31m]?\e[01;31m[\e[01;33m\w\e[01;31m]:\e[01;31m\n\e[01;31m???\e[01;36m >>> \e[01;31m\$ \e[00m'
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    alias dir='dir --color=auto'
    alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Pronto, Bash do root também personalizado.

Bash - root
Bash – root

Nesse tutorial mostramos como personalizar o Bash. Esperamos que o ajude a personalizar o Bash de forma eficaz. Ficamos por aqui e até o nosso próximo tutorial…

Leia também

Como fazer sorteio utilizando o Terminal Linux com comando shuf

3 maneiras de alterar o Shell padrão de um usuário no Linux

Como corrigir um computador que não quer reiniciar no Ubuntu

Como usar o comando SUDO no Debian?

Conheça o Puppy Linux!

MARCADORES: Bash, bashrc, Gnu/Linux, Personalizar, Shell

Inscreva-se no boletim diário

Receba as últimas notícias de última hora diretamente na sua caixa de entrada.

Receba as novidades

Não se preocupe, não enviamos spam
Ao se inscrever, você concorda com nossos Termos de Uso e reconhece as práticas de dados em nossa Política de Privacidade. Você pode cancelar sua inscrição a qualquer momento.
Glauber GF 03/04/2018
Compartilhe este artigo
Facebook TwitterEmail Print
Compartilhe
Postador por Glauber GF
Siga:
Usuário do GNU/Linux desde 2004, graduado em Sistemas de Informação, entusiasta na cultura DevOps.
Artigo anterior Como usar o DNS sobre o TLS no Ubuntu Novo DNS público e gratuito Cloudflare promete ser mais rápido que o do Google
Próx Artigo Linux Kernel 4.16 - Saiba como instalar no Ubuntu, Debian, Fedora, openSUSE em qualquer distro Linux Linux Kernel 4.16 – Saiba como instalar no Ubuntu, Debian, Fedora, openSUSE em qualquer distro Linux

Permaneça conectado

8.7k Curta
4.5k Siga
3.1k Siga
3.4k Siga

Acabamos de publicar

cumulonimbus-otimo-cliente-podcast-para-linux
Cumulonimbus: Ótimo Cliente Podcast para Linux
Apps para Linux
vym-uma-ferramenta-para-criar-mapas-mentais-no-linux
VYM: Uma ferramenta para criar mapas mentais no Linux
Apps para Linux
20-coisas-legais-do-inkscape-para-designers
20 coisas legais do Inkscape para designers
Apps para Linux
como-fazer-sorteio-utilizando-o-terminal-linux-com-comando-shuf
Como fazer sorteio utilizando o Terminal Linux com comando shuf
Apps para Linux

Você pode gostar também

como-fazer-sorteio-utilizando-o-terminal-linux-com-comando-shuf
Apps para Linux

Como fazer sorteio utilizando o Terminal Linux com comando shuf

2 Min para leitura
3-maneiras-de-alterar-o-shell-padrao-de-um-usuario-no-linux
Tutoriais

3 maneiras de alterar o Shell padrão de um usuário no Linux

2 Min para leitura
como-corrigir-um-computador-que-nao-quer-reiniciar-no-ubuntu
Como corrigir

Como corrigir um computador que não quer reiniciar no Ubuntu

1 Min para leitura
como-usar-sudo-no-debian
Tutoriais

Como usar o comando SUDO no Debian?

3 Min para leitura
//

Nós influenciamos mais de 2 milhões de pessoas todos os meses. Levamos informação com isenção e responsabilidade.

Outros links

  • Isenção de responsabilidade da parceria e publicidade SempreUpdate
  • Política financiamento e publicidade do SempreUpdate
  • Política de Ética SempreUpdate
  • Política de Correções SempreUpdate
  • Política de verificação de fatos SempreUpdate

Sobre o SempreUpdate

SempreUpdate é um site sobre Linux composto por membros das comunidades Linux ou código aberto. Além de Linux, também falamos sobre conteúdo Geek, e outros assuntos relacionados a tecnologia.

SempreUpdate SempreUpdate
Siga-nos

© 2022 SempreUpdate - Todos Os Direitos Reservados

Removed from reading list

Undo
Bem vindo de volta!

Faça login em sua conta

Lost your password?