GNU/Linux >> Linux Esercitazione >  >> Linux

Come personalizzare il prompt di Bash in Linux

Introduzione

In Linux, gran parte del tuo lavoro avviene da un prompt dei comandi, noto anche come shell o BASH (Bourne-Again Shell). La shell interpreta i tuoi comandi e li passa al sistema operativo per l'esecuzione.

Questo tutorial ti mostrerà come personalizzare o modificare il prompt BASH di Linux .

Prerequisiti

  • Un sistema che esegue Linux
  • Accesso a una riga di comando/terminale
  • Un account utente con sudo o root privilegi

Prompt BASH predefinito

Il prompt BASH predefinito è quello che vedi quando apri per la prima volta un terminale o una riga di comando. Di solito assomiglia a questo:

[email protected]:~$

In alternativa, potrebbe apparire così:

(base) [[email protected] ~]$

La prima parte del prompt indica l'utente che ha effettuato l'accesso. La seconda parte identifica il nome host del sistema.

Il segno della tilde ~ indica che la directory di lavoro corrente è la directory home dell'utente corrente.

Il simbolo del dollaro $ significa che l'utente corrente è un utente standard.

Un utente root verrebbe identificato con un segno hash # .

Personalizza il prompt di Bash in Linux

Come la maggior parte delle applicazioni Linux, BASH legge un file di configurazione per determinarne il comportamento. Questo file si trova nella home directory:

~/.bashrc

Prima di apportare modifiche, creare una copia di backup del file di configurazione. Apri una finestra di terminale e inserisci quanto segue:

cp ~/.bashrc ~/.bashrc.bak

Modifica permanentemente il prompt di Bash in Linux

Apri il file di configurazione BASH per la modifica:

sudo nano ~/.bashrc

In questo file dovresti vedere diverse impostazioni. Alcuni di essi sono righe descrittive in blu, non commentate con un # cartello. Alcuni sono bianchi, il che indica che sono abilitati.

Scorri fino alla fine del file di configurazione. Aggiungi la seguente riga:

PS1="MyTestPrompt> "

Puoi sostituire MyTestPrompt> con qualsiasi stringa di testo che ti piace.

Salva il file (ctrl-o > Entra ) ed esci (ctrl-x ).

Aggiorna il servizio BASH per applicare le modifiche. Immettere quanto segue:

source ~/.bashrc

Il prompt della riga di comando dovrebbe cambiare come segue:

MyTestPrompt>

Crea una modifica temporanea al prompt BASH

Puoi modificare temporaneamente il prompt BASH utilizzando export comando. Questo comando modifica il prompt finché l'utente non si disconnette.

Imposta il prompt BASH per visualizzare solo il nome utente immettendo quanto segue:

export PS1="\u >"

Il prompt dovrebbe cambiare immediatamente in questo modo:

username >

È possibile reimpostare il prompt disconnettendosi, quindi effettuando nuovamente l'accesso.

Opzioni personalizzate popolari per i prompt BASH

Puoi utilizzare queste opzioni in entrambi i metodi, temporaneamente con l'export comando o in modo permanente modificando il ~/.bashrc file.

Visualizza nome utente e nome di dominio

Usa il –H opzione per visualizzare un nome host completo:

export PS1="\u\H "

Dovresti vedere il nome host nel prompt.

Aggiungi caratteri speciali

Puoi aggiungere caratteri speciali al prompt mettendoli in ordine attorno alle opzioni speciali:

export PS1="\[email protected]\H :"

Questo dovrebbe visualizzare quanto segue:

[email protected]:

Visualizza nome utente più nome shell e versione

Immettere quanto segue per mostrare nome utente, nome della shell e versione:

export PS1="\u >\s\v "

La richiesta dovrebbe cambiare come segue:

username >bash4.4

Aggiungi data e ora al prompt BASH

Utilizza le seguenti opzioni per visualizzare diversi formati di data e ora:

  • d Visualizza la data odierna in [giorno della settimana]/[mese]/[giorno]
export PS1="\[email protected]\H>\d "
  • t Visualizza l'ora corrente nella notazione a 24 ore
export PS1="\[email protected]\H>\t "
  • T Visualizza l'ora corrente nella notazione di 12 ore
export PS1="\[email protected]\H>\T "
  • A Visualizza l'ora corrente nella notazione di 24 ore, con solo ore e minuti
export PS1="\[email protected]\H>\A "

Nascondi tutte le informazioni nel prompt BASH

Usalo per impedire la visualizzazione di nomi utente o hostname al prompt:

export PS1="\W > "

Dovresti vedere quanto segue:

~ >

Differenzia l'utente root dall'utente normale

Il normale prompt BASH mostra un $ firmare per un utente normale. Se accedi come utente root, un # viene visualizzato il segno. Usa il $ codice per indicare che l'utente corrente non è un utente root:

export PS1="\[email protected]\H \W:\$ "

Altre opzioni di prompt BASH

Di seguito è riportato un elenco della maggior parte delle opzioni che puoi utilizzare per il prompt BASH.

Alcuni di questi comandi potrebbero non funzionare su tutte le versioni di Linux.

  • \a – Un carattere campana
  • \d – Data (giorno/mese/data)
  • \D{format} – Usalo per chiamare il sistema per rispondere con l'ora corrente
  • \e – Carattere di escape
  • \h – Nome host (abbreviato)
  • \H – Nome host completo (nome di dominio)
  • \j – Numero di lavori gestiti dalla shell
  • \l – Il nome di base del dispositivo terminale shell
  • \n – Nuova linea
  • \r – Ritorno in trasporto
  • \s – Il nome della shell
  • \t – Ora (ora:minuti:secondi)
  • \@ – Ora, 12 ore AM/PM
  • \A – Ora, 24 ore, senza secondi
  • \u – Nome utente attuale
  • \v – Versione BASH
  • \V – Ulteriori informazioni sulla versione BASH
  • \w – Directory di lavoro corrente ($HOME è rappresentato da ~)
  • \W – Il nome di base della directory di lavoro ($HOME è rappresentato da ~)
  • \! – Elenca il numero di questo comando nella cronologia
  • \# – Il numero del comando di questo comando
  • \$ – Specifica se l'utente è root (#) o meno ($)
  • \\ – Barra rovesciata
  • \[ – Avvia una sequenza di caratteri non visualizzati (utile se vuoi aggiungere un comando o un set di istruzioni al prompt)
  • \] – Chiudere o terminare una sequenza di caratteri non visualizzati

Come cambiare il colore del prompt BASH

Puoi cambiare il colore del testo del tuo prompt BASH. Ad esempio, per modificare temporaneamente il testo del prompt BASH in verde, immettere quanto segue:

export PS1="\e[0;32m[\[email protected]\h \W]\$ \e[0m"

Il tuo prompt dovrebbe avere lo stesso testo del normale ma essere di colore verde.

Ecco una ripartizione dei comandi:

\e[ – Inizia i cambi di colore
0;32m – Specificare il codice colore
[\[email protected]\h \W]\$ – Questo è il codice per il tuo normale prompt BASH ([email protected] Workingdirectory $ )
\e[0m – Esci dalla modalità di cambio colore

Il primo numero nel codice colore specifica il carattere tipografico:

0 – Normale
1 – Grassetto (luminoso)
2 – Diminutivo
4 – Sottolineato

Il secondo numero indica il colore che desideri:

30 - Nero
31 - Rosso
32 - Verde
33 - Marrone
34 - Blu
35 - Viola
36 – Ciano
37 – Grigio chiaro

Inoltre, se combini l'opzione brillante con un codice colore, otterrai una versione più chiara di quel colore. Ad esempio, se utilizzi il codice colore 1;32 , otterresti un verde chiaro invece del verde normale. Se utilizzi 1;33 , diventi giallo anziché marrone.

Come ripristinare le modifiche BASH alle impostazioni predefinite

Esistono due modi per ripristinare le modifiche. Per modifiche temporanee (usando l'export PS1="" comando), è possibile ripristinare l'impostazione predefinita effettuando il logout.

Se hai modificato il \.bashrc file per apportare modifiche permanenti, esistono due metodi per ripristinare le impostazioni predefinite:

  • Esegui il rendering delle modifiche come commenti modificando il file e aggiungendo un # prima di ogni modifica effettuata.
  • Ripristina le impostazioni predefinite dal backup immettendo:
sudo cp ~/.bashrc.bak ~/.bashrc

Comprendere diverse parti del prompt BASH

Prima di continuare, ripristina il prompt BASH ai valori predefiniti. Se hai utilizzato l'export comando, esci e riconnettiti. Se hai modificato il tuo ~/.bashrc file, inserisci un # firma prima di ogni modifica effettuata e salva il file.

Il prompt BASH contiene quattro diversi valori:PS1, PS2, PS3 e PS4 .

Il PS sta per Dichiarazione immediata . Finora abbiamo lavorato con il valore PS1. Per vedere il valore PS1 corrente, inserisci quanto segue:

echo $PS1

A seconda del sistema, il terminale restituisce qualcosa del genere per le impostazioni predefinite:


Potresti riconoscere il \[email protected]\h opzioni come nome utente e host . Il w l'opzione mostra la directory di lavoro corrente.

Ora, mostra il valore PS2:

echo $PS2

Il sistema dovrebbe visualizzare solo una parentesi angolare:

>

La ripetizione dello stesso comando per PS3 dovrebbe essere vuota.

Per PS4 vedrai un + firmare.

Ecco i diversi significati per le diverse parti del prompt BASH:

  • PS1 – Questa è la visualizzazione del prompt principale. Qui puoi impostare caratteri speciali o informazioni importanti.
  • PS2 – Questa è la stringa di richiesta secondaria. Di solito viene impostato come divisore tra la visualizzazione del prompt e l'immissione di testo. Viene anche utilizzato per visualizzare quando un comando lungo è suddiviso in sezioni con \ firmare.
  • PS3 – Questa è la richiesta di select comando.
  • PS4 – Questo è il prompt per eseguire uno script di shell in modalità debug.

Nella maggior parte dei casi, lavorerai solo con la PS1 opzione e forse la PS2 opzione pure.


Linux
  1. Rendi invernale il tuo prompt Bash in Linux

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

  3. Come personalizzare gli ambienti utente Linux

  4. Come controllare syslog in Bash su Linux?

  5. Come visualizzare il percorso corrente nel prompt dei comandi in sh di Linux (non bash)?

Come utilizzare il comando Date negli script Bash in Linux

Come personalizzare il comando top di Linux

Come personalizzare il prompt di Bash Terminal su Debian 10

Come utilizzare il comando Declare in Linux Bash Shell

Come installare Linux Bash Shell su Windows 10

Come personalizzare Cinnamon Desktop in un sistema Linux