Magazine Informatica

Come personalizzare il prompt della bash.

Creato il 18 dicembre 2013 da Hugor @msdiaz61

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,
hugo@fobia:~$ echo $PS1
ritorna come output PS1="\u@\h:\w\$ " che corrisponde ai  valori impostati nel seguente modo:
\u@ = hugo 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 stamp

bash_cheat_sheet
abili
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

bash_tutorial-img2-large

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).

firepower-prompt

Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

Come personalizzare il prompt della bash.


Ritornare alla prima pagina di Logo Paperblog