Un terminale più funzionale con un .bashrc stiloso

Se vi capita di usare spesso il terminale, vi farà piacere questo piccolo ritocco

 

  • Al posto del path completo viene visualizzata solo l'ultima cartella
  • Viene visualizzato il branch corrente di git se presente

 Ovviamente per sapere dove vi trovate potete sempre digitare 'pwd'

Installazione

Aggiungete al fondo del vostro ~/.bashrc:

parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/|\1|/'
}
PS1="\W\$(parse_git_branch)$ "

Riaprite il terminale.

Nota. Se fate "sudo -s" rimane il $ e non viene il #. Consigli sono bene accetti :P

commenti

Consiglio ben accetto

Il .bashrc e' del singolo utente, quindi dovresti mettere lo stesso comando anche nel .bashrc di root oppure in /etc/profile.
Detto cio', il PS1 lo puoi scrivere nel seguente modo:
PS1="\W\$(parse_git_branch)\$( [ ${UID} -eq 0 ] && echo '#' || echo '\$' ) "

NB: il file /etc/profile viene caricato solo dopo il login, e non all'apertura di ogni terminale. Per poter usufruire di quello nuovo e' quindi necessario effettuare il logout

HoX

> NB: il file /etc/profile

> NB: il file /etc/profile viene caricato solo dopo il login, e non all'apertura di ogni terminale. Per poter usufruire di quello nuovo e' quindi necessario effettuare il logout

Oppure:

$ source /etc/profile

Sinceramente, se posso,

Sinceramente, se posso, preferisco tenere le configurazioni nella $HOME

OK, PS1 perfetto. Grazie

OK, PS1 perfetto.
Grazie HoX!

Ora e' perfetto

La mia vecchia soluzione non era perfetta... quella che segue lo e'

PS1="\W\$(parse_git_branch)\\$ "

Leggendo la man di Bash, specifica che esiste gia' il comando '\$' che fa esattamente quello che vuoi tu. In questo modo e' molto meglio visto che non devo scomodare test ed echo, ma sfrutto comandi built-in