Como obter uma festa colorida?

52

Como obter o bash colorido assim?

    
por daniel451 29.08.2014 / 18:55

4 respostas

36

Eu criei esta solução:

  • abra ~ / .bashrc em um editor
  • copie e adicione-o no final do arquivo .bashrc:

    PS1='\[3[1;36m\]\u\[3[1;31m\]@\[3[1;32m\]\h:\[3[1;35m\]\w\[3[1;31m\]$\[3[0m\] '
    
  • salve o arquivo e reinicie o bashrc:

    source ~/.bashrc
    

Para obter uma lista completa das cores disponíveis e outras opções, consulte estes links:

por daniel451 29.08.2014 / 18:55
89

Abra ~/.bashrc no editor de texto e na linha de comentário:

#force_color_prompt=yes

para ser:

force_color_prompt=yes

salve e execute source ~/.bashrc

    
por To Kra 14.12.2015 / 10:45
3

Uma versão que é um pouco mais 'geral' - deve funcionar com um ambiente variado:
(depende do terminfo)

Insira isso no seu $HOME/.bashrc :

function fgtab {
  echo "tput setf/setb - Foreground/Background table"
  for f in {0..7}; do
    for b in {0..7}; do
      echo -en "$(tput setf $f)$(tput setb $b) $f/$b "
    done
    echo -e "$(tput sgr 0)"
  done
}

# The prompt in a somewhat Terminal -type independent manner:
cname="$(tput setf 3)"
csgn="$(tput setf 4)"
chost="$(tput setf 2)"
cw="$(tput setf 6)"
crst="$(tput sgr 0)"
PS1="\[${cname}\]\u\[${csgn}\]@\[${chost}\]\h:\[${cw}\]\w\[${csgn}\]$\[${crst}\] "

Em seguida, execute source ~/.bashrc .

Depois disso, fgtab exibirá uma tabela de cores com números. Esses números são para tput setf n e tput setb n , em que 'n' é o número, 'f' representa 'primeiro plano' e 'b' significa 'segundo plano'.

tput sgr 0 redefinirá as cores de primeiro e segundo plano para o padrão.

E como você pode ver, mudar as cores usadas para o prompt se torna realmente fácil (basta editar o mesmo número em $HOME/.bashrc como você deseja).

Adicione um $(tput setb n) em $cname se desejar ter TODOS os prompt com o plano de fundo n.

    
por Hannu 29.08.2014 / 22:14
-1

@ daniel451 Tente isso em seu $ HOME / .bashrc

PS1='\[3[6;31m\]-daniel\[3[5;51m\]@\[3[3;33m\]UbuntuUltrabook\[3[3;35m\]$\[3[0;34m\]\a\[3[0m\] '

você receberá o que esperava.

    
por kva 16.11.2017 / 07:25