21 settembre 2011

Personalizzare il prompt della bash

Ecco alcuni casi di personalizzazione del vostro prompt senza incasinarlo troppo.  Per vedere come è formato il vostro prompt della shell, basta eseguire echo $PS1(esistono anche una PS2, PS3, e una PS4, ma non le prenderemo in considerazione). Il quale stampa la variabile d' ambiente settata  in un  file  nascosto quale .bash_profile o .bashrc, a secondo di quello che viene trovato  nella vostra /home/user.

Prendiamo come esempio la bash nella mia linux box,
archie@fobia:~$ echo $PS1

ritorna come output PS1="\u@\h:\w\$ " che corrisponde ai  valori impostati nel seguente modo:
\u@ = archie ovvero l' utente del sistema.
\h: = l' host ovvero il nome della nostra macchina preceduta dai due punti.
\w = la directory corrente ovvero la tilde.
\$ = il segno del dollaro ci segnala il tipo di user al lavoro. Mentre il cancelletto #, equivale all' utente root.

Ecco altri semplici esempi di prompt:
PS1="[\u]$ "  corrisponde al seguente esempio [archie]$

PS1="\w:$ "  corrisponde al seguente esempio ~:$

PS1="\t " corrisponde all' orario del sistema 12:21:05

PS1="\h\w\t " corrisponde al seguente esempio fobia~12:21:05

questi sono i caratteri speciali usati con più frequenza :
\d     SIGNIFICATO   data
\h     SIGNIFICATO   nome host
\s     SIGNIFICATO   nome della shell
\t      SIGNIFICATO   ora corrente
\u     SIGNIFICATO   nome utente
\w    SIGNIFICATO   directory corrente
\[     SIGNIFICATO   inizio caratteri non stampabili
\]     SIGNIFICATO   fine  caratteri non stampabili

per la lista completa dei caratteri speciali, vi rimando alla  Bash Prompt HOWTO dove potrai approfondire, tra l' altro  come rendere colorato, e in alcuni casi di cattivo gusto il tuo prompt della shell. Il mio consiglio e di avere un prompt quanto più pulito e il meno appariscente possibile, ne trarranno beneficio  i vostri occhi.

Ecco alcuni esempi di come colorare il tuo prompt della bash:

PS1=”\033[1;31m\u@\h\w\$\033[0m “

la prima parte "\033[1;31m\u@\\h\w\$\033 indica che è di colore rosso, poi tutto quello che viene dopo [0m " diventa di colore grigio.

I colori per personalizzare il testo sono:

0   dark
1   brillante
4   sottolineato
5   lampeggiante
7   inverso


mentre la m serve per la chiusura delle sequenze dei caratteri non stampabili.

PS1=”\033[0;37m\033[1;41m\u@\h:\w$ “

in quest' altro esempio il testo è di colore grigio ”\033[0;37m, su sfondo rosso \033[1;41m
Questi sono i codici dei colori:

Nero                      0;30
Rosso                    0;31
Verde                     0;32
Marrone                0;33
Blu                        0;34
Viola                     0;35
Ciano                    0;36
Grigio Chiaro      0;37
Grigio Scuro        1;30
Rosso  Chiaro      1;31
Verde  Chiaro      1;32
Giallo                  1;33  
Blu    Chiaro      1;34
Verde  Chiaro     1;35
Ciano  Chiaro    1;36
Bianco                1;37


E mia premura, PRIMO ricordarti di lasciare uno spazio tra l' ultimo carattere di escape(es: \t ") e le virgolette di chiusura in modo da evitare che il testo da digitare sia attaccato al prompt(es: archie@fobia:~$echo).

E SECONDO che per rendere permanenti le modifiche che apportate al prompt, ce bisogno che le scriviate all' interno di uno dei file sopra citati (.bash_profile o .bashrc).

1 commento:

Anonimo ha detto...

grazie semplice è utile.