Como defino o prompt para usar duas cores?

15

Uma coisa que eu gostei no Mint foi que o terminal geralmente mostrava duas cores: tudo da esquerda para a $cor seria uma cor e tudo o que $passava era outra.

Existe uma maneira de ter essa configuração com o Ubuntu?

TSJNachos117
fonte
Para sua informação, encontrei o arquivo /etc/bash.bashrc do Mint 14 no pastebin . As primeiras e as últimas linhas precisam ser removidas ou você receberá um erro. Além disso, pode ser uma boa ideia se o arquivo ~ / .bash_aliases estiver carregado, supondo que ele exista.
TSJNachos117

Respostas:

21

Execute o seguinte comando em um terminal:

gedit ~/.bashrc

Quando .bashrcabrir, localize e force_color_prompt=yesremova o comentário (ou seja, remova o hash, para que ele não pareça mais:) #force_color_prompt=yes.

Salve o arquivo e abra uma nova janela do terminal, e você já deverá ver uma alteração (o prompt deve ser Verde Claro , definido por 1; 32 ). Você pode alterar qualquer valor de cor que desejar; por exemplo: 0; 35 = Roxo .

Para editar os valores das cores, localize a seção a seguir e altere os valores padrão com alguns dos exemplos listados mais abaixo:

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

Você pode verificar esta tabela de cores do Bash para obter uma gama completa de valores de cores, mas aqui estão algumas que você pode brincar (observe que "Luz" não é o que você pensa - na verdade significa "negrito"): Preto 0; 30 - Cinza escuro 1; 30 - Azul 0; 34 - Azul claro 1; 34 - Verde 0; 32 - Verde claro 1; 32 - Ciano 0; 36 - Ciano claro 1; 36 - Vermelho 0; 31 - Claro Vermelho 1; 31 - Roxo 0; 35 - Roxo claro 1; 35 - Marrom 0; 33 - Amarelo 1; 33 - Cinza claro 0; 37 - Branco 1; 37

Por exemplo, aqui está a linha que eu a uso:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u@\h\[\033[00m\]:\[\033[01;34m\] \w\[\033[01;37m\] > '

ou, minha namorada, use:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u\[\033[01;31m\]@\[\033[01;36m\]\h\[\033[01;33m\]:\[\033[01;31m\]\w\[\033[01;33m\]\# '

Sinta-se à vontade para experimentar, definindo seu prompt alterando o valor da variável de ambiente PS1 no Terminal, da seguinte maneira:

export PS1="...your values..."

ou apenas

PS1="...your values..."

Aqui está a aparência do meu terminal:

terminal

Fonte: http://ubuntugenius.wordpress.com/2011/07/11/how-to-change-the-command-line-prompt-colour-in-the-ubuntulinux-terminal/

Radu Rădeanu
fonte
11
de onde vem a foto da flor?
NHDaly
3

Simplesmente modifique $PS1nos arquivos de inicialização do shell com as chamadas apropriadas para tput, a fim de definir e limpar os atributos de texto. Veja as páginas de manual tput(1)e terminfo(5)para detalhes.

export PS1="\[$(tput setaf 2)\][\u@\h \W]\$ \[$(tput sgr0)\]"
Ignacio Vazquez-Abrams
fonte
@ RaduRădeanu: "nos arquivos de inicialização do shell"
Ignacio Vazquez-Abrams
11
Em vez de $(tput setaf 2)e $(tput sgr0), eu recomendaria usar as seqüências de escape ANSI diretamente: \033[32me \033[m. O resultado é o mesmo, mas não requer uma chamada.
wjandrea
1

Essa coisa da qual você está falando é chamada de prompt . Existem muitas opções e scripts para modificar seu prompt usando cores diferentes e exibindo qualquer tipo de informação adicional. Um bom começo com alguns exemplos pode ser encontrado na coleção do jamie e a IBM tem algumas boas explicações para iniciantes. Se você quiser entrar mais em detalhes, dê uma olhada neste abrangente tutorial

binfalse
fonte
0

Você pode tentar este:

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

(tente primeiro em um terminal). Então, se você gosta, pode colocá-lo em algum lugar do seu .bashrcarquivo.

gniourf_gniourf
fonte