Come imposto il prompt per utilizzare due colori?


15

Una cosa che mi è piaciuta di Mint è che il terminale di solito mostrava due colori: tutto da sinistra a quello $sarebbe un colore, e tutto ciò che era passato $sarebbe stato un altro.

C'è un modo per avere questa configurazione con Ubuntu?


Cordiali saluti, ho trovato il file /etc/bash.bashrc da Mint 14 su pastebin . La prima e l'ultima riga devono essere rimosse, altrimenti verrà visualizzato un errore. Inoltre, potrebbe essere una buona idea se il file ~ / .bash_aliases è caricato, supponendo che tale file esista.
TSJNachos117,

Risposte:


21

Esegui il seguente comando in un terminale:

gedit ~/.bashrc

Quando si .bashrcapre, individua e decommenta force_color_prompt=yes(ovvero rimuovi l'hash, quindi non appare più come:) #force_color_prompt=yes.

Salvare il file e aprire una nuova finestra del terminale e si dovrebbe già vedere una modifica (il prompt dovrebbe essere verde chiaro , che è definito da 1; 32 ). È quindi possibile modificare qualsiasi valore di colore che ti piace; es .: 0; 35 = Viola .

Per modificare i valori di colore, individuare la sezione seguente e modificare i valori predefiniti con alcuni degli esempi elencati di seguito:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;31m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

Puoi dare un'occhiata a questa tabella di colori di Bash per una gamma completa di valori di colore, ma qui ci sono alcuni di base con cui puoi giocare (nota che "Light" non è quello che potresti pensare - in realtà significa "grassetto"): Nero 0; 30 - Grigio scuro 1; 30 - Blu 0; 34 - Blu chiaro 1; 34 - Verde 0; 32 - Verde chiaro 1; 32 - Ciano 0; 36 - Ciano chiaro 1; 36 - Rosso 0; 31 - Chiaro Rosso 1; 31 - Viola 0; 35 - Viola chiaro 1; 35 - Marrone 0; 33 - Giallo 1; 33 - Grigio chiaro 0; 37 - Bianco 1; 37

Ad esempio, ecco la linea che lo uso:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u@\h\[\033[00m\]:\[\033[01;34m\] \w\[\033[01;37m\] > '

o, la mia ragazza, usa:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u\[\033[01;31m\]@\[\033[01;36m\]\h\[\033[01;33m\]:\[\033[01;31m\]\w\[\033[01;33m\]\# '

Sentiti libero di sperimentare impostando il tuo prompt modificando il valore della variabile d'ambiente PS1 in Terminale, come segue:

export PS1="...your values..."

o, solo

PS1="...your values..."

Ecco come appare il mio terminale:

terminale

Fonte: http://ubuntugenius.wordpress.com/2011/07/11/how-to-change-the-command-line-prompt-colour-in-the-ubuntulinux-terminal/


1
da dove viene la foto floreale?
NHDaly,

3

È sufficiente modificare $PS1i file di avvio della shell con le chiamate appropriate tputper impostare e cancellare gli attributi del testo. Vedi le pagine man tput(1)e terminfo(5)per i dettagli.

export PS1="\[$(tput setaf 2)\][\u@\h \W]\$ \[$(tput sgr0)\]"

@ RaduRădeanu: "nei file di avvio della shell"
Ignacio Vazquez-Abrams,


1
Invece di $(tput setaf 2)e $(tput sgr0), consiglierei di usare direttamente le sequenze di escape ANSI: \033[32me \033[m. Il risultato è lo stesso, ma non richiede una chiamata.
wjandrea,

1

Questa cosa di cui stai parlando si chiama prompt . Esistono molte opzioni e script per modificare il prompt usando colori diversi e visualizzando qualsiasi tipo di informazione aggiuntiva. Un buon inizio con alcuni esempi può essere trovato nella collezione di jamie e IBM ha alcune belle spiegazioni per i principianti. Se vuoi approfondire i dettagli, dai un'occhiata a questo howto completo


0

Puoi provare questo:

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

(provalo prima in un terminale). Quindi, se ti piace, puoi metterlo da qualche parte nel tuo .bashrcfile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.