Punto informatico Network
Canali
20100302175731_921413836_20100302175710_1291585294_TerminalMLI_spotlight.png

Come cambiare il prompt di Bash

22/04/2010
- A cura di
Linux & Open Source - La variabile di sistema PS1 contiene il prompt di Bash. In questo articolo vi mostrerò come cambiarla per rendere la console testuale un po' meno... indecifrabile.

Tag

Passa qui con il mouse e visualizza le istruzioni per utilizzare i tag!

linux (1) , prompt (1) , gnu/linux (1) , bash (1) .

Valutazione

  •  
Voto complessivo 4.5 calcolato su 30 voti

Proviamo i codici di colore

Se ora volete provare un codice di colore qualsiasi su una stringa (in questo caso [Hello]) potete farlo direttamente con echo senza chiamare in causa PS1 per provare quale colore vi piace di più. Scrivete (riportandolo esattamente, preferibilmente con un copia/incolla) e confermate questo comando:

echo -e "\[\e[<codice>m\][Hello]\[\e[0m\]"

Sostituendo a <codice> il codice di colore che volete provare. Quando lo avrete scelto (o se ne avrete scelti più di uno) segnatevelo per non dimenticarlo, e potrete andare subito a modificare PS1 dal suo valore di default a quello che avete scelto con una semplice assegnazione. Prendiamo ad esempio una PS1 standard esposta all'inizio dell'articolo:

\u@\h:\w\$

E, dopo aver salvato la variabile in una porzione di memoria separata come descritto in questa pagina, aggiungiamo solo i colori conservando tutti i riferimenti:

PS1='\[\e[<codice1>m\]\u\[\e[0m\]@\[\e[<codice2>m\]\h\[\e[0m\]:\[\e[<codice3>m\]\w\[\e[0m\]\$ '

Nota [1]: Può sembrare complicato all'inizio, ma una volta che ci si fa l'abitudine si impara a "spezzare" il valore in frammenti più semplici. Tenete presente le strutture fondamentali e mettetele insieme secondo le regole che avete letto, e il prompt sarà sempre corretto.

Nota [2]: in fase di assegnazione il valore di PS1 deve essere racchiuso tra apici singoli (o apostrofi) affinché i caratteri non stampabili (e quindi i codici di colore) abbiano effetto. Per Bash chiudere qualcosa tra ' ' e tra " " non è equivalente.

Nota [3]: la struttura di chiusura \e[0m serve solo a "chiudere" il colore; se volete lasciare tutte le sezioni del prompt dello stesso colore potete metterla solo alla fine. In questo esempio @, : e \$ sono tutti e tre di colore grigio chiaro.

Nota [4]: come avrete intuito, non è necessario usare un codice colore solo.

Nota [5]: nel caso non ve lo ricordiate, \e[ e \033[ sono equivalenti.

Notate che ho messo apposta <codice1>, <codice2>, <codice3>, affinché possiate, dopo aver scelto (se volete) tre codici colore differenti, suddividere il prompt in sezioni di colori diversi. In questo caso avrete un colore per il nome utente (\u), uno per l'hostname (\h) e uno per il percorso alla directory corrente (\w).

Se volete sperimentare subito qualche esempio pratico di cambio colore potete andare a leggere questa pagina, oppure potete andare avanti a leggere come rendere definitivi i cambiamenti al prompt della shell.

Pagina successiva
Rendere definitivi i cambiamenti
Pagina precedente
Colorare il prompt di Bash

 

Segnala ad un amico

Tuo nome Tuo indirizzo e-mail (opzionale)
Invia a:
    Aggiungi indirizzo email
    Testo

    © Copyright 2024 BlazeMedia srl - P. IVA 14742231005

    • Gen. pagina: 0.85 sec.
    •  | Utenti conn.: 133
    •  | Revisione 2.0.1
    •  | Numero query: 45
    •  | Tempo totale query: 0.06