Estilos de Bash Prompts

Publicado por edps em 26/10/2011

[ Hits: 6.651 ]

Blog: https://edpsblog.wordpress.com/

 


Estilos de Bash Prompts



Como o prometido na dica do meu .bashrc para o Arch Linux, aqui postarei alguns estilos de bash_prompts que encontrei pela Net, tal dica também publiquei em meu blog.

Começarei pelo estilo que estou usando atualmente:

# esse é o meu bash_prompt atual, já descomentado,
# caso opte por outro comente todas as linhas e
# descomente a linha do estilo escolhido

function elite()
{
local GRAY="\[\033[1;30m\]"
local LIGHT_GRAY="\[\033[0;37m\]"
local CYAN="\[\033[0;36m\]"
local LIGHT_CYAN="\[\033[1;36m\]"
case $TERM in
xterm*)
local TITLEBAR='\[\033]0;\[email protected]\h:\w\007\]'
;;
*)
local TITLEBAR=""
;;
esac
local GRAD1=$(tty|cut -d/ -f3)
PS1="$TITLEBAR\
$GRAY-$CYAN-$LIGHT_CYAN(\
$CYAN\[email protected]$CYAN\h\
$LIGHT_CYAN)$CYAN-$LIGHT_CYAN(\
$CYAN\#$GRAY/$CYAN$GRAD1\
$LIGHT_CYAN)$CYAN-$LIGHT_CYAN(\
$CYAN\$(date +%H%M)$GRAY/$CYAN\$(date +%d-%b-%y)\
$LIGHT_CYAN)$CYAN-$GRAY-\
$LIGHT_GRAY\n\
$GRAY-$CYAN-$LIGHT_CYAN(\
$CYAN\$$GRAY:$CYAN\w\
$LIGHT_CYAN)$CYAN-$GRAY-$LIGHT_GRAY "
PS2="$LIGHT_CYAN-$CYAN-$GRAY-$LIGHT_GRAY "
}
PROMPT_COMMAND=elite

# esse é o meu bash_prompt atual, já descomentado,
# caso opte por outro comente todas as linhas e
# descomente a linha do estilo escolhido

Linux: 
Estilos de Bash Prompts
A seguir demonstrarei mais alguns e ao final segue mais uma imagem com os primeiros estilos citados, cada um está como na sequência com que foram postados, lembrando que somente o estilo acima está descomentado (todos os demais estão comentados), bastará remover o sinal '#' do início da linha começada por #PS1... e comentar a do estilo que foi substituído.

Para a edição do arquivo ~/.bashrc, use o editor de sua preferência.

E seguem alguns estilos de bash_prompts para a personalização de seu terminal:

#PROMPT_COMMAND='history -a;echo -en "\033[m\033[38;5;2m"$(( `sed -nu "s/MemFree: [\t ]\+\([0-9]\+\) kB/\1/p" /proc/meminfo`/1024))"\033[38;5;22m/"$((`sed -nu "s/MemTotal: [\t ]\+\([0-9]\+\) kB/\1/Ip" /proc/meminfo`/1024 ))MB"\t\033[m\033[38;5;55m$(< /proc/loadavg)\033[m"'

#PS1="\[\033[01;31m\]\h\[\033[00m\]\[\033[01;32m\] \ [\033[01;32m\]\u \[\033[00;33m\]\w\n\[\033[01;30m\]$ \ [\033[00m\]"

#PS1='\[\033[1;34m\]\u \[\033[1;32m\]@\[\033[1;34m\] \h \ [\033[1;30m\]::\[\033[1;37m\] $(_chomp_path $(pwd)) \[\033[1;30m\]%%\ [\033[0m\] '

#PS1='\[\e[m\n\e[1;30m\][$$:$PPID \j:\!\[\e[1;30m\]]\ [\e[0;36m\] \T \d \[\e[1;30m\][\[\e[1;34m\]\[email protected]\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='\[\033]0;\w\007\]\[\e[35;1m\]\u\[\e[0m\]\ [\e[32m\]@\h\[\e[34m\]\w \[\e[33m\]\$ \[\e[0m\]'

#PS1='\[\033[01;31m\]\u\[\033[01;36m\]@\[\033[01;32m\]\h\ [\033[01;33m\]:\[\033[01;33m\]\w\n\[\033[01;31m\]\$ \ [\033[00;32m\]'

#PS1="\[\033[01;32m\]\[email protected]\h\[\033[01;34m\] \w \$\ [\033[00m\] "

#PS1="\[\033[0;31m\][\u] [ \w ] \[\033[0m\] \n # "

#PS1="\[\033[0;33m\][\!]\`if [[ \$? = "0" ]]; then echo "\\ [\\033[32m\\]"; else echo "\\[\\033[31m\\]"; fi\`[\u.\h: \`if [[ `pwd|wc -c|tr -d " "` > 18 ]]; then echo "\\W"; else echo "\\w"; fi\`]\$\ [\033[0m\] "; echo -ne "\033]0;`hostname -s`:`pwd`\007"

#PS1="\[\033[0;33m\][\!]\`if [[ \$? = "0" ]]; then echo "\\ [\\033[32m\\]"; else echo "\\[\\033[31m\\]"; fi\`[\u.\h: \`if [[ `pwd|wc -c|tr -d " "` > 18 ]]; then echo "\\W"; else echo "\\w"; fi\`]\$\ [\033[0m\] "; echo -ne "\033]0;`hostname -s`:`pwd`\007"

#PS1="\[\033[0;34m\][\u] \[\033[0;0m\]\w \[\033[0m\]$ "

#PS1="\[\033[0;34m\][\u] \[\033[0;31m\][ \w ] \[\033[0m\] \n >> "

#PS1="\[\033[0;34m\][\u] \[\033[0;33m\][ \t ] \[\033[0;31m\][ \w ] \[\033[0m\] \n >> "

#PS1='\[\033[1;30m\][\[\033[0;37m\]${PIPESTATUS}\[\033[1;30m\]:\ [\033[0;37m\]${SHLVL}\[\033[1;30m\]:\[\033[0;37m\]\j\ [\033[1;30m\]][\[\033[1;34m\]\u\[\033[0;34m\]@\ [\033[1;34m\]\h\[\033[1;30m\]:\[\033[0;37m\]`tty | sed s/\\\\\/dev\\\\\/\//g`\[\033[1;30m\]]\ [\033[0;37m\][\[\033[1;37m\]\W\[\033[0;37m\]]\[\033[1;30m\] \$\[\033[00m\] '

#PS1="[\[\033[1;34m\]\u\[\033[0m\]@\h \W]\\$ "

#PS1="[\!] \033[1;36m[ \[email protected]\h ]\033[1;32m\] [ \t ] [ \d ]\n\033[1;33m\ [[ \w ] \033[00m\\n\[\e[30;1m\](\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\]) \ [\e[0m\] $: "

#PS1="[\[\033[32m\]\w]\[\033[0m\]\n\[\033[1;36m\]\u\ [\033[1;33m\]-> \[\033[0m\]"

#PS1="\[\033[34m\] \[email protected]\h `tty | sed 's/\/dev\///'` \t \d \ [\033[35m\]\w/ \n\[\033[34m\] $\[\033[0m\] "

#PS1="\[\033[35m\]\t\[\033[m\]-\[\033[36m\]\u\ [\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\ [\033[m\]\$ "

#PS1="\[\033[36m\] \[email protected]\h `tty | sed 's/\/dev\///'` \t \d \ [\033[32m\]\w/ \n\[\033[36m\] $\[\033[0m\] "

#PS1=">\[\033[s\]\[\033[1;\$((COLUMNS-4))f\]\$(date +%H:%M)\ [\033[u\]"

#PS1='C:${PWD//\//\\\}>'

#PS1='${debian_chroot:+($debian_chroot)}\[[ \033[01;31m\]\w\[\033[00m\]] '

#PS1='\[\e[0;31m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\]'

#PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]\$\[\e[m\] \[\e[1;37m\]'

#PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]\$\[\e[m\]'

#PS1='\e[1;31;47m\u \e[1;32;47mon \h \e[1;35;47m\d \@\e[0;0m\n\e[1;31m[dir.= \w] \# > \e[0;0m'

#PS1='\[\e[1;31m\][\[\e[0;37m\]\u\[\e[1;31m\]@\ [\e[0;37m\]\h \W\[\e[1;31m\]]\$\[\e[0m\] '

#PS1='\[\e[1;31m\][\[email protected]\h \W]\$\[\e[0m\] '

#PS1='\[\e[1;32m\]\[email protected]\H:\[\e[m\] \[\e[1;37m\]\w\ [\e[m\]\n\[\e[1;33m\]hist:\! \[\e[0;33m\] \ [\e[1;31m\]jobs:\j \$\[\e[m\] '

#PS1='\[\e[1;32m\][\[email protected]\h \W]\$\[\e[0m\] '

#PS1='\e[1;33;47m\u \e[1;32;47mon \h \e[1;35;47m\d \@\e[0;0m\n\e[1;34m[dir.= \w] \# > \e[0;0m'

#PS1="\[\e[1;33m\] > \[\033[0m\]"

#PS1='\[\e[1m\]\h:\w\$\[\e[0m\] '

#PS1="\[\e]2;\[email protected]\H \w\a\e[30;1m\]>\[\e[0m\] "

#PS1="\[\e[30;1m\]\w> \[\e[0m\]"

#PS1="\[\e[36;1m\]\[email protected]\[\e[32;1m\]\H> \[\e[0m\]"

#PS1="\[\e[37;1m\]-{\[\e[34;1m\]\[email protected]\h\[\e[37;1m\]}-\n\ [\e[37;1m\](\[\e[34;1m\]\w: \$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[37;1m\])\n--> \ [\e[0m\]"

#PS1='\[\e[41m\]\[\e[1;37m\] \u \[\e[47m\]\[\e[1;30m\] \W \[\e[0m\]\[\e[1;37m\]\[\e[42m\] # \[\033[0m\] '

#PS1='\[\e[45m\]\[\e[1;37m\] \[email protected]\h \[\e[47m\]\ [\e[1;30m\] \W \[\e[0m\]\[\e[1;37m\]\[\e[42m\] > \ [\033[0m\] '

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

#PS1="\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \ [\e[31m\]O_O\[\e[0m\]; fi\`[\[email protected]\h:\w]\\$ "

#PS1="\n\[\033[32;1m\]It's \t\[\033[33;1m\] Currently browsing \ [\033[1;36m\]\w \[\033[33;1m\]directory\n\[\033[34;1m\]\`if [ \$? = 0 ]; then echo \[\e[37m\]Last Command Was Successfully Executed \[\e[32m\]^_^\ [\e[0m\]; else echo \[\e[37m\]Smeggin Hell !!! Last Command Was Unknown \ [\e[32m\]O_O\[\e[0m\]; fi\` \n\[\033[31m\]What is thy bidding, my master? \n\n\[\033[34;1m\]"

#PS1="\n\[\033[35m\]\$(/bin/date)\n\[\033[32m\]\w\n\ [\033[1;31m\]\[email protected]\h: \[\033[1;34m\]\$(/usr/bin/tty | /bin/sed -e 's:/dev/::'): \ [\033[1;36m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files \[\033[1;33m\]\$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\033[0m\] -> \[\033[0m\]"

#PS1="\n\[$bldgrn\][\[$txtrst\]\w\[$bldgrn\]]\[$bldwht\]\n\ [$bldwht\][\[$txtrst\]\t\[$bldwht\]]\[$bldylw\]$ \[$txtrst\]"

#PS1="\n#--[\[\e[1;36m\]\[email protected]\h\[\e[m\]]-[\ [\e[1;34m\]\w\[\e[m\]]-[\$(date +%k:%M)]-->\n"

#PS1="\n\[\e[30;1m\]\[\016\]l\[\017\](\ [\e[34;1m\]\[email protected]\h\[\e[30;1m\])-(\[\e[34;1m\]\j\ [\e[30;1m\])-(\[\e[34;1m\]\@ \d\[\e[30;1m\])->\ [\e[30;1m\]\n\[\016\]m\[\017\]-(\[\[\e[32;1m\]\w\ [\e[30;1m\])-(\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--> \[\e[0m\]"

#PS1="\n\[\e[30;1m\]?(\[\e[34;1m\]\[email protected]\h\[\e[30;1m\])-(\ [\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m\]\@ \d\ [\e[30;1m\])->\[\e[30;1m\]\n??(\[\e[32;1m\]\w\ [\e[30;1m\])-(\[\e[32;1m\]$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, $(/bin/ls -lah | /bin/grep - m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--> \[\e[0m\]"

#PS1="\n\[\e[32;1m\](\[\e[37;1m\]\u\[\e[32;1m\])-(\ [\e[37;1m\]jobs:\j\[\e[32;1m\])-(\[\e[37;1m\]\w\ [\e[32;1m\])\n(\[\[\e[37;1m\]! \!\[\e[32;1m\])-> \ [\e[0m\]"

#PS1="\n\[\e[m\][\[\033[01;32m\]\w\[\e[m\]] [\t] \n\ [\033[01;33m\]$ \[\033[00m\]"

#PS1="\t \[email protected]\h\$ "

#PS1="\t \[email protected]\h `tty | sed 's/\/dev\///'` \w \$ "

#PS1="\[email protected]\h\$ "

#PS1="\[email protected]\h `tty | sed 's/\/dev\///'` \w \$ "

#PS1='[\[email protected]\h \W]\$ '

#PS1="\[email protected]\h [\w] \$ "

#PS1="\u `tty | sed 's/\/dev\///'` [\W] \$ "


##########################
# Nate Mitchell's (Kasyx's) Bash Prompt.
##########################
# function prompt() {
# Black="\e[30m"
# Red="\e[31m"
# Green="\e[32m"
# LightGreen="\e[32;1m"
# Blue="\e[34m"
# LightBlue="\e[34;1m"
# NC="\e[0m" # No Color
# PS1="\[$LightGreen\033(0\154\033(B\][\ [\033(0\161\161\033(B$Green\][\[$Red\]\[email protected]\h\[$Green\]]\ [\033(0\161\033(B\][\[$Red\]\w\[$Green\]]\ [\033(0\161\033(B\][\[$Red\]\!\[$Green\]]\ [\033(0\161\161\033(B\]]\n\ [$LightGreen\033(0\155\161\033(B$Green\][\[$Red\]\#\[$Green\]]\ [\033(0\161\033(B\][\[$Red\]\$\[$Green\]]\ [\033(0\161\161\033(B\][\[$NC\]"
# PS2="> "
# }
# prompt


######################
# Emmanuel Rouat's shell prompt
# (no final escolha entre powerprompt ou fastprompt).
######################
# if [[ "${DISPLAY%%:0*}" != "" ]]; then
# HILIT=${red} # remote machine: prompt will be partly red
# else
# HILIT=${cyan} # local machine: prompt will be partly cyan
# fi
# # --> Replace instances of \W with \w in prompt functions below
# # + --> to get display of full path name.
# function fastprompt()
# {
# unset PROMPT_COMMAND
# case $TERM in
# *term | rxvt )
# PS1="${HILIT}[\h]$NC \W > \[\033]0;\${TERM} [\[email protected]\h] \w\007\]" ;;
# linux )
# PS1="${HILIT}[\h]$NC \W > " ;;
# *)
# PS1="[\h] \W > " ;;
# esac
# }
# function _powerprompt()
# {
# LOAD=$(uptime|sed -e "s/.*: \([^,]*\).*/\1/" -e "s/ //g")
# }
# function powerprompt()
# {
# PROMPT_COMMAND=_powerprompt
# case $TERM in
# *term | rxvt )
# PS1="${HILIT}[\A - \$LOAD]$NC\n[\[email protected]\h \#] \W > \
# \[\033]0;\${TERM} [\[email protected]\h] \w\007\]" ;;
# linux )
# PS1="${HILIT}[\A - \$LOAD]$NC\n[\[email protected]\h \#] \W > " ;;
# * )
# PS1="[\A - \$LOAD]\n[\[email protected]\h \#] \W > " ;;
# esac
# }
# #powerprompt
# fastprompt

Observação:

Caso use o ZSH ao invés do BASH, o membro @SMarcell tem umas configs interessantes.

É isso aí, é como uma coletânea de estilos que encontrei pela Net, alguns na Wiki do Chakra etc.

Agora falta o .bashrc para o Debian...

Outras dicas deste autor

Rodando aplicações gráficas como root no Debian e derivados

Arch Linux - Limpeza de pacotes

Convertendo pacotes .deb (Debian) para .xbps (Void Linux)

Firefox sem complicação!

Painel Tint2 com lançadores de aplicativos

Leitura recomendada

Mudar senha no modo de recuperação

Spotify no OpenSUSE

Pasta /var/cache/apt/archives lotada?

Ti-BR - Fórum de tecnologia brasileiro

Instalando o Google Earth no Debian Etch

  

Comentários
[1] Comentário enviado por xerxeslins em 27/10/2011 - 11:56h

Cool, man!

[2] Comentário enviado por removido em 28/10/2011 - 14:03h

Thanks, xerxes!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts