Come (e dove) si può cambiare lo schema 'user @ host $:' in gnome-terminal?

19

Quando avvio il terminale in Ubuntu, vedo:

[email protected]:~$

Ho bisogno di aggiungere un timestamp a questo, qualcosa del tipo:

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

Come posso configurarlo?

    
posta Ilya Smagin 09.10.2011 - 18:34

5 risposte

8

C'è un buon articolo su come cambiare il tuo prompt di bash e cosa significano tutti i simboli speciali (come \ h). Ha anche un link su come cambiare i colori nel tuo prompt.

Per quanto riguarda l'applicazione delle modifiche nel tuo .bashrc, esegui solo source ~/.bashrc

    
risposta data Tolli 15.10.2011 - 07:21
18

Metti questo alla fine del tuo ~/.bashrc

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

Quindi riavvia il tuo terminale. Per le spiegazioni, leggi la pagina di manuale di bash, cerca ^ PROMPTING

(mi spiace, la prima versione di questa risposta ha riportato erroneamente virgolette singole invece di doppie)

    
risposta data enzotib 09.10.2011 - 18:49
3

Per applicare il comando ~ / .bashrc cambia questo all'interno del terminale in esecuzione:

exec bash

Non è necessario riavviare il terminale. Questo è utile per ogni modifica (nell'ambiente del terminale)

    
risposta data daniele 12.10.2011 - 12:25
3

Trovo che un ottimo setup sia quello di avere 3 gruppi colorati:

  • nome utente & amp; hostname
  • posizione corrente
  • attuale ramo git

Più una nuova riga in modo da tornare sul lato sinistro!

i.e.

Puoi avere tutto questo avendo quanto segue nel tuo file .bashrc nella tua directory home.
Funziona per 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 vuoi questo più i tuoi timestamp in quattro colori puoi avere:

$ 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$ '

come in:

anche se personalmente penso che ora andrò con:

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\]>'

per

    
risposta data Michael Durrant 10.04.2014 - 02:05
0

Per farlo temporaneamente ma immediatamente / al volo, ad esempio in modo da avere un po 'di privacy mentre fai uno screencast, puoi fare quanto segue

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

La variabile PS1 imposta il formato, la sorgente applica tale impostazione leggendo da un file.

Ora la riga di comando ha questo aspetto:

$ 
    
risposta data qubodup 06.11.2015 - 11:33

Leggi altre domande sui tag