GNU/Linux >> Linux Esercitazione >  >> Linux

Come personalizzare i colori e il contenuto di Bash nel prompt del terminale Linux

Oggi, Bash è la shell predefinita nella maggior parte (se non in tutte) le moderne distribuzioni Linux. Tuttavia, potresti aver notato che il colore del testo nel terminale e il contenuto del prompt possono essere diversi da una distribuzione all'altra.

Lettura consigliata: 5 shell open source usate più di frequente per Linux

Nel caso ti stia chiedendo come personalizzarlo per una migliore accessibilità o per semplice capriccio, continua a leggere:in questo articolo spiegheremo come farlo.

La variabile d'ambiente Bash per PS1

Il prompt dei comandi e l'aspetto del terminale sono governati da una variabile di ambiente chiamata PS1 . Secondo il Bash pagina man, PS1 rappresenta la stringa del prompt principale che viene visualizzata quando la shell è pronta per leggere un comando.

I contenuti consentiti su PS1 è costituito da diversi caratteri speciali con escape barra rovesciata il cui significato è elencato nella PROMPTING sezione della pagina man.

Per illustrare, mostriamo il contenuto corrente di PS1 nel nostro sistema (questo potrebbe essere leggermente diverso nel tuo caso):

$ echo $PS1

[\[email protected]\h \W]$

Ora spiegheremo come personalizzare PS1 secondo le nostre esigenze.

Personalizzazione del formato PS1

Secondo la sezione PROMPTING nella pagina man, questo è il significato di ogni carattere speciale:

  1. \u: il nome utente dell'utente corrente.
  2. \h: il nome host fino al primo punto (.) nel Nome di dominio completo.
  3. \W: il nome di base della directory di lavoro corrente, con $HOME abbreviato con una tilde (~) .
  4. \$: Se l'utente corrente è root, mostra # , $ altrimenti.

Ad esempio, potremmo prendere in considerazione l'aggiunta di \! Se vogliamo visualizzare il numero di cronologia del comando corrente, oppure \H se vogliamo visualizzare l'FQDN invece del nome breve del server.

Nell'esempio seguente importeremo entrambi nel nostro ambiente corrente eseguendo questo comando:

PS1="[\[email protected]\H \W \!]$"

Quando premi Invio vedrai che il contenuto del prompt cambia come mostrato di seguito. Confronta il prompt prima e dopo aver eseguito il comando precedente:

Ora facciamo un ulteriore passo avanti e cambiamo il colore dell'utente e nome host nel prompt dei comandi, sia il testo che lo sfondo circostante.

In realtà, possiamo personalizzare 3 aspetti del prompt:

Formato testo Colore di primo piano (testo) Colore di sfondo
0:testo normale 30:Nero 40:Nero
1:grassetto 31:rosso 41:rosso
4:testo sottolineato 32:verde 42:Verde
33:giallo 43:Giallo
34:Blu 44:Blu
35:Viola 45:Viola
36:Ciano 46:Ciano
37:bianco 47:bianco

Useremo il \e carattere speciale all'inizio e un m alla fine per indicare che quella che segue è una sequenza di colori.

In questa sequenza i tre valori (sfondo , formato e in primo piano ) sono separati da virgole (se non viene fornito alcun valore viene assunto il valore predefinito).

Lettura consigliata: Impara lo scripting di Bash Shell in Linux

Inoltre, poiché gli intervalli di valori sono diversi, non importa quale (sfondo , formato o in primo piano ) prima specifichi.

Ad esempio, il seguente PS1 farà apparire la richiesta in giallo testo sottolineato con rosso sfondo:

PS1="\e[41;4;33m[\[email protected]\h \W]$ "

Per quanto possa sembrare bella, questa personalizzazione durerà solo per la sessione utente corrente. Se chiudi il terminale o esci dalla sessione, le modifiche andranno perse.

Per rendere permanenti queste modifiche, dovrai aggiungere la seguente riga a ~/.bashrc o ~/.bash_profile a seconda della tua distribuzione:

PS1="\e[41;4;33m[\[email protected]\h \W]$ "

Sentiti libero di giocare con i colori per trovare quello che funziona meglio per te.

Riepilogo

In questo articolo abbiamo spiegato come personalizzare il colore e il contenuto del prompt di Bash. Se hai domande o suggerimenti su questo post, non esitare a utilizzare il modulo di commento qui sotto per contattarci. Non vediamo l'ora di sentirti!


Linux
  1. Come bilanciare funzionalità e prestazioni nel mio terminale Linux

  2. Come avviare il comando Linux in background e scollegare il processo nel terminale

  3. Come rendere natalizio il tuo terminale e shell Linux

  4. Come abbreviare il prompt di Bash in Linux?

  5. Come ingrandire e rimpicciolire la console del terminale in Linux

Come installare e utilizzare Terminator Terminal in Linux

Come copiare file e directory nel terminale Linux

Come cancellare la cronologia di Bash in Linux e Mac

Bash Scripting:come generare e formattare il testo su Linux Shell

Come personalizzare il prompt del terminale di Ubuntu

I 30 migliori emulatori di terminale Linux e editor Bash