Come personalizzare il prompt del terminale Linux per un flusso di lavoro migliore
Punti chiave
- Personalizzare il prompt di Bash non è solo divertente, può anche essere utile.
- Mostrare semplici informazioni di sistema è facile, ma le istruzioni più elaborate possono diventare rapidamente complesse.
- Plugin e script di terze parti ti consentono di personalizzare il tuo prompt molto più facilmente.
Sei stufo che il prompt del terminale di tutti gli altri sembri più elaborato del tuo? Non sono solo belli, ma un prompt ben personalizzato può anche aumentare la tua produttività ed è facile iniziare.
Perché personalizzare il prompt del terminale?
Questo è più importante se passi spesso da un gruppo di computer diversi, localmente o in remoto, ma un messaggio personalizzato può aiutarti a identificare rapidamente il computer a cui hai effettuato l'accesso. Se copi il tuo ~/.bashrc o altri file di configurazione su ogni computer che usi, questo non sarà il caso, ma un prompt personalizzato può rendere più semplice l'identificazione rapida del tuo computer.
Un prompt personalizzato può dirti molte più informazioni oltre al tuo nome utente o nome host. Il tuo messaggio può facilmente informarti sulla tua directory di lavoro corrente, se la directory in cui ti trovi è controllata dalla versione e se i file in quel repository sono aggiornati, ad esempio. Un leggero cambiamento di colore può anche farti sapere se l'ultimo comando eseguito ha avuto esito positivo o meno.
Parlando di colori, persone diverse prestano più o meno attenzione ai vari colori. Se trovi la giusta combinazione, potresti scoprire che all'improvviso sei in grado di analizzare istantaneamente più informazioni dal tuo prompt senza bisogno di studiarle. Alcuni colori potrebbero avere l'effetto opposto, quindi potrebbe essere necessario sperimentare un po' per trovare quello che funziona per te.
Naturalmente, non dovresti ignorare il semplice fattore divertente di personalizzare il prompt del tuo terminale. Sebbene ci siano molte ragioni pratiche, va bene semplicemente divertirsi guardando un po’ di più il proprio terminale. Dopotutto, è probabile che se stai usando Linux, trascorrerai una quantità di tempo non banale nel terminale, quindi potrebbe anche sembrare carino.
Come personalizzare il prompt di Bash
Per questo articolo ci concentreremo sulla personalizzazione della Bourne-Again Shell, meglio conosciuta come Bash. Sebbene alcuni degli approcci qui siano simili a quello che faresti per altre shell, in genere utilizzano una sintassi leggermente diversa, quindi i risultati varieranno. Assicurati di consultare le pagine man o la documentazione appropriate se stai utilizzando un'altra shell.
La personalizzazione del tuo terminale implica l'impostazione della variabile di ambiente PS1. Puoi impostarlo temporaneamente all'interno del tuo terminale, semplicemente digitando qualcosa di simile al seguente:
PS1="Your wish is my command: "
Naturalmente, questo non è esattamente utile, quindi probabilmente vorrai che il tuo terminale ti fornisca alcune informazioni corrette. È qui che dovrai riflettere su quali informazioni desideri visualizzare e su come formattarle.
Abbiamo un elenco di caratteri speciali essenziali da conoscere per Bash, che dovrebbe aiutarti a iniziare. Per informazioni più approfondite dovrai consultare la sezione prompt del manuale di Bash.
Ad esempio, prova qualcosa di simile al seguente:
PS1="\u@\H \W: "
Nell'esempio sopra, \u
stampa il tuo nome utente, mentre \H
stampa il nome host del tuo computer e \W
mostra la directory di lavoro. Queste non sono ulteriori informazioni che troverai nel tipico prompt di Bash, ma mostrano quanto possa essere facile formattare le informazioni nel tuo prompt.
Colori e caratteri speciali
Sfortunatamente, aggiungere colori al prompt di Bash non è così semplice come potrebbe essere. Dovrai prendere alcuni codici colore ANSI già ingombranti e trasporli leggermente per formattarli correttamente nel prompt. Per rendere le cose un po’ più semplici, ecco un elenco dei colori comunemente usati:
- Nero: \033[30m
- Rosso: \033[31m
- Verde: \033[32m
- Giallo: \033[33m
- Blu: \033[34m
- Viola: \033[35m
- Ciano: \033[36m
- Bianco: \033[37m
Per colorare l'output sopra, dovresti usare qualcosa del genere:
PS1="\033[31m\u@\033[34m\H \033[36m\W: "
L'output è piuttosto vistoso e potrebbe essere difficile da leggere a seconda dello sfondo, ma funziona come un esempio di come personalizzare i colori. È possibile utilizzare caratteri di escape ANSI simili per stampare caratteri speciali sul terminale.
Rendere permanente il tuo suggerimento
Dopo aver testato il tuo suggerimento, è semplice mantenere le modifiche una volta che hai deciso qualcosa che ti piace. Aggiungi semplicemente il prompt al file .bashrc nella tua home directory. Ad esempio, per aggiungere il prompt colorato sopra al prompt Bash, aggiungi quanto segue a ~/.bashrc
:
export PS1="\033[31m\u@\033[34m\H \033[36m\W: "
Naturalmente, ci sono anche modi più semplici per personalizzare il tuo prompt.
Scorciatoie per un prompt più brillante
Ok, ormai puoi iniziare con alcune personalizzazioni di base, ma che dire delle configurazioni esagerate che hai visto su Internet? Si tratta essenzialmente delle stesse tecniche che abbiamo utilizzato finora, ma utilizzando caratteri speciali noti come caratteri Nerd che utilizzano caratteri Unicode per visualizzare le icone.
Anche se potresti iniziare a usarli tu stesso, potresti anche usare un framework di shell esistente. Uno degli esempi più popolari è Oh-My-Zsh, che, come suggerisce il nome, è disponibile solo per la shell Z, nota anche come zsh. Dato che ci siamo concentrati su Bash per questa guida, questo non funzionerà per noi.
Fortunatamente, ci sono altre opzioni. Una delle migliori opzioni al momento in cui scrivo è Starship, che è un prompt personalizzabile per qualsiasi shell, inclusa Bash. È scritto in ruggine per velocità e le istruzioni per iniziare sono semplici. È persino incluso nei repository di alcune distribuzioni Linux come Arch, Void e openSUSE.
Un'altra opzione popolare è Oh My Posh. È probabile che, se c'è qualcosa che vorresti poter fare con Starship, puoi farlo con Oh My Posh. Lo svantaggio è che si tratta di un’immersione molto più profonda quando si tratta di apprendere i dettagli del sistema. Detto questo, se vuoi davvero modificare il tuo prompt, questo offre la massima flessibilità.
Che dire delle altre conchiglie?
Sebbene in questo articolo ci concentriamo principalmente sul prompt Bash, non è la tua unica scelta per il terminale Linux. Ad esempio, su macOS, Zsh è stata la shell predefinita per diverse versioni principali a questo punto. Ha alcune funzionalità che valgono la pena dare un'occhiata anche a Bash, a seconda di cosa stai cercando.
Per iniziare, Zsh offre il completamento con schede. Questo è più potente del completamento automatico che ottieni con Bash e può essere particolarmente utile se non ricordi bene i tuoi comandi. Zsh ha anche alcune funzionalità che possono semplificare la personalizzazione del prompt senza utilizzare un framework.
Un'altra opzione è la amichevole conchiglia interattiva, conosciuta anche come pesce. Ciò fa sì che sia Bash che Zsh sembrino decisamente spartani fuori dagli schemi, poiché sono assolutamente ricchi di funzionalità subito dopo l'installazione. Questa shell ha un sacco di ottime funzionalità, ma la sua principale pretesa di fama sono i suoi suggerimenti automatici.
A differenza del completamento tramite scheda, Fish inizierà a popolare automaticamente i comandi digitati con opzioni comuni. Se apri un determinato file o una determinata directory in cui ti sposti frequentemente, vedrai questo suggerimento non appena inizi a digitare cd
, ad esempio. Per ignorare il suggerimento, continua a digitare il comando che stavi per digitare.
Questa funzionalità diventa più utile man mano che usi di più la shell. Anche se puoi farlo su Zsh tramite plugin, è integrato direttamente in Fish.
Per provare altre shell, dai un'occhiata alla nostra guida per cambiare la shell con chsh.