Prima di fare clic, questa non è la tipica domanda "come posso fare in modo che il mio prompt di bash abbia il colore". Ho già personalizzato il mio prompt di bash in questo modo:
[user @ host]----[$(pwd)]
$
dove tutto tra parentesi è azzurro e tutto il resto (incluso $) è nero aggiungendo quanto segue al mio file ~ / .bashrc
# Turn the prompt symbol red if the user is root
if [ $(id -u) -eq 0 ];
then # you are root, make the prompt red
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n\e[01;31m#\e[00m "
else
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n$ "
fi
L'obiettivo è renderlo tale che l'unica cosa che cambia quando uso "sudo su" è che il $ nero si trasforma in un # rosso. Ho guardato in /etc/bash.bashrc e / etc / profile per vedere se c'è solo una riga per commentare, ma ci sono un sacco di cose su debian_chroot che non capisco, e non voglio per rovinare qualcosa. Come posso realizzare quello che voglio?
PS Questo è quello che voglio che il prompt assomigli a root
[user @ host]----[$(pwd)]
(red)#
modifica: Contrassegna questo risolto, aggiungendo il codice sopra a ~ / .bashrc mentre root ha raggiunto il mio obiettivo. Inoltre, nel codice sopra, $ (pwd) visualizza solo la home directory (suppongo perché quella è la directory di lavoro quando il terminale è aperto) e non si aggiorna mai. La sostituzione di $ (pwd) con \ w risolve questo problema, ma visualizza la directory home come ~
, che stavo cercando di evitare.
\e[01;31m
, in \[...\]
. Questo è spiegato sotto PROMPTING nel manuale. Vedi anche mywiki.wooledge.org/BashFAQ/053
pwd
non ha funzionato nel prompt è che è necessario sfuggire al simbolo del dollaro, altrimenti $(pwd)
verrà eseguito prima che il contenuto venga inserito in $ PS1. Puoi provarlo con questo: PS1="\$(pwd) "
.