username@hostname:directory$
. Ma puoi configurare il prompt di Bash in modo che contenga tutto ciò che ti piace e persino scegliere i colori che preferisci.
I passaggi di esempio qui sono stati eseguiti su Ubuntu 16.04 LTS. Il processo dovrebbe essere lo stesso su altre distribuzioni Linux, sebbene il prompt Bash predefinito e le impostazioni nel file.bashrc potrebbero essere leggermente differenti.
Dove viene memorizzata la variabile del prompt
La configurazione del prompt di Bash è memorizzata nel file.bashrc del tuo account utente, che è a
~/.bashrc
. Quindi, se il tuo nome utente è bob, il file è a
/home/bob/.bashrc
È possibile aprire il file per visualizzare la variabile Bash corrente. Useremo nano come nostro editor di testo di esempio, sebbene tu possa usare anche vi, emacs o qualsiasi altro editor di testo con cui ti trovi a tuo agio. Apri un terminale ed esegui:
nano ~/.bashrc
PS1=
sezione. La prima variabile sembra piuttosto complicata perché include le informazioni sul colore: lo spiegheremo più tardi. La seconda variabile, senza informazioni sul colore, recita come segue:
${debian_chroot:+($debian_chroot)}u@h:w$
${debian_chroot:+($debian_chroot)}
bit. Questi dicono semplicemente a Bash di farti sapere se stai usando un ambiente chroot di Debian e normalmente non verrà mostrato. Ignorando quelli, ecco la struttura predefinita della variabile prompt Bash:
u@h:w$
u
indica il tuo nome utente,
@
indica il simbolo @,
h
indica il nome host (nome del computer),
:
indica il carattere:
w
indica la directory di lavoro, e
$
indica $ se sei un normale account utente o # se sei root. Quindi, mettendo tutto insieme, ottieni
username@hostname:working_directory$
Per modificare il prompt di Bash, devi solo aggiungere, rimuovere o riorganizzare i caratteri speciali nella variabile PS1. Ma ci sono molte più variabili che puoi usare rispetto a quelle predefinite.
Lascia l'editor di testo per ora-in nano, premi Ctrl + X per uscire. Ti mostreremo come sperimentare le variabili prima di scriverne una nuova nel tuo file.bashrc.
Come creare un prompt Bash personalizzato
La configurazione del prompt di Bash è memorizzata nella variabile PS1. Per salvare il contenuto della variabile PS1 in una nuova variabile, eseguire il seguente comando:
DEFAULT=$PS1
Ora puoi impostare la variabile PS1 su valori diversi per sperimentare. Ad esempio, la prima riga qui imposterà il prompt a un prompt di base "utente $", mentre il secondo imposterà il prompt a un prompt di base "user: working_directory $".
PS1='u$ ' PS1='u:w$ '
Se si desidera tornare al prompt predefinito, eseguire semplicemente il comando seguente.
PS1=$DEFAULT
Bash verrà ripristinato al prompt predefinito grazie al fatto che hai salvato quelle impostazioni predefinite in precedenza. Tieni presente che qualsiasi modifica apportata qui è solo temporanea per la sessione Bash corrente, quindi puoi sempre uscire e accedere o chiudere e riaprire la finestra del terminale per tornare al prompt predefinito. Ma la riga sopra rende possibile tornare facilmente al prompt Bash predefinito senza la seccatura di uscire o chiudere una finestra.
PS1='Hello World u@h:w$ '
-
Un personaggio campana:
a
-
La data, nel formato "Data del giorno della settimana" (ad es. "Mar 26 maggio"):
d
-
Il formato viene passato a strftime (3) e il risultato viene inserito nella stringa di richiesta; un formato vuoto produce una rappresentazione temporale specifica della locale. Le parentesi sono richieste:
D{format}
-
Un personaggio di fuga:
e
-
Il nome host, fino al primo '.':
h
-
Il nome host:
H
-
Il numero di lavori attualmente gestiti dalla shell:
j
-
Il nome di base del nome del dispositivo terminale della shell:
l
- Una nuova riga:
- Un ritorno a capo:
-
Il nome della shell, il nome di base di $ 0 (la parte che segue la barra finale):
s
-
L'ora, nel formato HH: MM: SS di 24 ore:
-
L'ora, nel formato HH: MM: SS di 12 ore:
T
-
L'ora, nel formato am / pm delle 12 ore:
@
-
L'ora, nel formato HH: MM di 24 ore:
A
-
Il nome utente dell'utente corrente:
u
-
La versione di Bash (ad es., 2,00):
v
-
Il rilascio di Bash, versione + patchlevel (ad esempio, 2.00.0):
V
-
La directory di lavoro corrente, con $ HOME abbreviato con una tilde (utilizza la variabile $ PROMPT_DIRTRIM):
w
-
Il nome di base di $ PWD, con $ HOME abbreviato con una tilde:
W
-
Il numero di cronologia di questo comando:
!
-
Il numero di comando di questo comando:
#
-
Se l'uid effettivo è 0, #, altrimenti $:
$
-
Il personaggio il cui codice ASCII è il valore ottale nnn:
nn
-
Un backslash:
-
Inizia una sequenza di caratteri non stampabili. Questo potrebbe essere usato per incorporare una sequenza di controllo terminale nel prompt:
[
-
Termina una sequenza di caratteri non stampabili:
]
Pertanto, se si desidera aggiungere la data e l'ora al prompt di Bash e posizionare la directory di lavoro su un comando su una seconda riga, è possibile utilizzare la seguente struttura:
PS1='[d ] u@h
w$ '
Le parentesi quadre qui non sono affatto necessarie, ma aiutano a rompere le cose visivamente e semplificano la lettura della linea. Come spiegato in precedenza, puoi aggiungere qualsiasi testo o caratteri normali alla variabile che ti piace, quindi sentiti libero di usare qualsiasi cosa funzioni per te.
`
personaggi. Questo non è un apostrofo: questo è l'accento grave, che appare sopra il tasto Tab della tastiera.
Ad esempio, supponiamo di voler visualizzare la versione del kernel Linux nel prompt. Potresti usare una linea come la seguente:
PS1='u@h on `uname -s -r` w$ '
uptime
comando. È possibile utilizzare la seguente struttura, che mette il tempo di attività sulla propria linea prima del resto del prompt.
PS1='(`uptime`)
u@h:w$ '
Come aggiungere colori al tuo Bash Prompt
Una volta capito il prompt preferito, puoi aggiungere dei colori. Questo è in realtà molto semplice, ma rende la variabile terribilmente complicata e complicata se non capisci cosa stai guardando.
Ad esempio, la variabile del prompt dei colori predefinita precedente era:
${debian_chroot:+($debian_chroot)}[