<Precedenti | Contenuti | Succ.>
Anatomia di un prompt
Il nostro prompt predefinito assomiglia a questo:
[io@linuxbox~]$
[io@linuxbox~]$
Nota che contiene il nostro nome utente, il nostro nome host e la nostra directory di lavoro corrente, ma come è diventato così? Molto semplicemente, si scopre. Il prompt è definito da una variabile d'ambiente denominata PS1 (abbreviazione di "prompt string one"). Possiamo visualizzare il contenuto di PS1 con la eco comando:
[io@linuxbox~]$ eco $ PS1
[\u@\h \W]\$
[io@linuxbox~]$ eco $ PS1
[\u@\h \W]\$
Nota: non preoccuparti se i risultati non sono esattamente gli stessi dell'esempio sopra. Ogni distribuzione Linux definisce la stringa del prompt in modo leggermente diverso, alcune in modo piuttosto esotico.
Dai risultati, possiamo vedere che PS1 contiene alcuni dei caratteri che vediamo nel nostro prompt come le parentesi quadre, la chiocciola e il simbolo del dollaro, ma il resto è un mistero. Gli astuti tra noi riconosceranno questi come caratteri speciali con caratteri di escape con barra rovesciata piace
Anatomia di un prompt
quelli che abbiamo visto nel capitolo 7. Ecco un elenco parziale dei personaggi che il bash tratta specialmente nella stringa di prompt:
Tabella 13-1: Codici di escape utilizzati nei prompt della shell
Valore della sequenza visualizzato
Valore della sequenza visualizzato
\a campana ASCII. In questo modo il computer emette un segnale acustico quando viene rilevato.
\d Data corrente in formato giorno, mese, data. Ad esempio, "lunedì 26 maggio".
\h Nome host del computer locale meno il nome di dominio finale.
\H Nome host completo.
\j Numero di lavori in esecuzione nella sessione di shell corrente.
\l Nome del dispositivo terminale corrente.
\n Un carattere di nuova riga.
\r Un ritorno a capo.
\s Nome del programma shell.
\t Ora corrente nel formato 24 ore ore:minuti:secondi.
\T Ora corrente in formato 12 ore.
\@ Ora corrente in formato 12 ore AM/PM.
\A Ora corrente in formato 24 ore:minuti.
\u nome utente dell'utente corrente.
\v Numero di versione della shell.
\V Numeri di versione e release della shell.
\w Nome della directory di lavoro corrente.
\W Ultima parte del nome della directory di lavoro corrente.
\! Numero di cronologia del comando corrente.
\# Numero di comandi immessi durante questa sessione di shell.
\$ Questo mostra un carattere "$" a meno che non disponiamo dei privilegi di superutente.
In tal caso, visualizza invece un "#".
\[ Segnala l'inizio di una serie di uno o più caratteri non stampabili.
Viene utilizzato per incorporare caratteri di controllo non stampabili che manipolano in qualche modo l'emulatore di terminale, ad esempio spostando il
cursore o modifica dei colori del testo.
\] Segnala la fine di una sequenza di caratteri non stampabili.