Solo per espandere la risposta di Oli (e in modo che io abbia un segnalibro per quei simboli abbreviati):
Il prompt di bash ( stefano@linux:~$
) è solo il primo di un paio di prompt che potresti vedere:
PS1 : il prompt predefinito che vedi quando apri una shell
Il valore è memorizzato in una variabile di ambiente chiamata PS1
. Per vedere il suo valore, digitare
echo $PS1
Questo ti darà qualcosa di simile
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Per modificarlo, puoi impostare un nuovo valore per la variabile:
export PS1="\u > "
Ciò comporterà un prompt come questo:
stefano >
PS2 : è il tuo prompt secondario. Questo viene mostrato quando un comando non è finito. Digita echo "asd
e premi invio, il prompt secondario ti consentirà di inserire più righe fino alla chiusura delle virgolette.
PS3 è il prompt utilizzato per select
(2)
PS4 è il prompt utilizzato per la pila tracce (default: +
)
Per rendere permanenti le modifiche, le aggiungi alla fine di .bash_profile
(o .bashrc
, vedi questa domanda ) nella tua home directory.
Ecco un elenco più o meno completo di stenografia che è possibile utilizzare durante la composizione di questi:
\a
Il carattere "campana"
\A
24 ore
\d
Data (es. Mar 21 dic)
\e
Il personaggio 'fuga'
\h
Nome host (fino al primo ".")
\H
Nome host
\j
Numero di lavori attualmente in esecuzione (ps)
\l
Tty attuale
\n
Avanzamento riga
\t
Tempo (hh: mm: ss)
\T
Tempo (hh: mm: ss, formato 12h)
\r
Ritorno del trasporto
\s
Shell (cioè bash, zsh, ksh ..)
\u
Nome utente
\v
Versione Bash
\V
Stringa di rilascio Full Bash
\w
Directory di lavoro corrente
\W
Ultima parte della directory di lavoro corrente
\!
Indice attuale nella storia
\#
Indice di comando
\$
Un "#" se sei root, altrimenti "$"
\\
Backslash letterale
\@
Ora (formato 12h con am / pm)
Puoi ovviamente inserire qualsiasi stringa letterale e qualsiasi comando:
export PS1="\u \$(pwd) > "
Dove $(pwd)
sta al posto di "l'output di" pwd.
- Se il comando di sostituzione viene escluso, come in
\$(pwd)
, viene valutato ogni volta che viene visualizzato il prompt, altrimenti, come in $(pwd)
, viene valutato solo una volta all'avvio di bash.
Se vuoi che il tuo prompt includa i colori, puoi usare i codici colore di bash per farlo. Il codice è composto da tre parti:
40;33;01
Ogni parte può essere omessa, supponendo che inizi a sinistra. vale a dire "1" significa grassetto, "1; 31" significa grassetto e rosso. E faresti stampare il tuo terminale a colori sfuggendo alle istruzioni \33[
e terminandolo con un m
. 33, o 1B in esadecimale, è il segno ASCII "ESCAPE" (un carattere speciale nel set di caratteri ASCII). Esempio:
"\33[1;31mHello World\33[m"
Stampa "Hello World" in rosso brillante.
export PS1="\n___"