Como (e onde) pode-se mudar o padrão 'user @ host $:' no gnome-terminal?

19

Quando eu inicio o terminal no Ubuntu, vejo:

[email protected]:~$

Eu preciso adicionar um timestamp para isso, algo como:

2011-10-09T09:32:00 [email protected]:~$

Como posso configurar isso?

    
por Ilya Smagin 09.10.2011 / 18:34

5 respostas

8

Existe um bom artigo sobre como alterar seu prompt bash e o que todos os símbolos especiais (como \ h) significam. Ele também tem um link sobre como alterar as cores em seu prompt.

No que diz respeito a aplicar as alterações em seu .bashrc, basta executar source ~/.bashrc

    
por Tolli 15.10.2011 / 07:21
18

Coloque isso no final do seu ~/.bashrc

PS1="\D{%F}T\t $PS1"

Em seguida, reinicie o seu terminal. Para explicações, leia a página de manual do bash, procure por ^ PROMPTING

(desculpe, a primeira versão desta resposta relatou erroneamente aspas simples em vez de duplas)

    
por enzotib 09.10.2011 / 18:49
3

Para aplicar o tipo de alteração ~ / .bashrc dentro do terminal em execução:

exec bash

Não há necessidade de reiniciar o terminal. Isso é útil para cada alteração (no ambiente do terminal)

    
por daniele 12.10.2011 / 12:25
3

Acho que uma ótima configuração é ter 3 grupos coloridos:

  • nome de usuário & amp; nome do host
  • localização atual
  • ramificação atual do git

Além de uma nova linha, você está de volta ao lado esquerdo!

i.e.

Você pode ter tudo isso tendo o seguinte em seu arquivo .bashrc em seu diretório pessoal.
Funciona para Unix e OS X

parse_git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ ()/'
}
PS1='\[3[01;32m\]\[email protected]\h\[3[00m\]:\[3[01;34m\]\w\[3[01;33m\]$(parse_git_branch)\[3[00m\]\n$ '

Se você quiser isso, além de seus timestamps em quatro cores, você pode ter:

$ PS1='3[01;31m\] \D{%F} \t \[3[01;32m\]\[email protected]\h\[3[00m\]:\[3[01;34m\]\w\[3[01;33m\]$(parse_git_branch)\[3[00m\]\n$ '

como em:

embora pessoalmente eu acho que vou agora com:

parse_git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)//'
}
PS1='3[01;31m\]\t3[00m\]:'
PS1=$PS1'\[3[01;32m\]\[email protected]\h\[3[00m\]:'
PS1=$PS1'\[3[01;34m\]\w3[00m\]:3[01;33m\]$(parse_git_branch)\[3[00m\]\n$ '
PS2='\[3[01;36m\]>'

para

    
por Michael Durrant 10.04.2014 / 02:05
0

Para fazer isso temporariamente, mas imediatamente / on-the-fly, por exemplo, para que você possa ter um pouco de privacidade enquanto faz um screencast, você pode fazer o seguinte

echo PS1='$\ ' > /tmp/ps1 && source /tmp/ps1 && rm /tmp/ps1

A variável PS1 define o formato, a fonte aplica essa configuração lendo de um arquivo.

Agora, a linha de comando é assim:

$ 
    
por qubodup 06.11.2015 / 11:33