Colori predefiniti per Terminale?


13

Stavo cercando di ricordare come avrei potuto pre-definire i colori all'interno del .bashrcfile in modo che potessero essere richiamati quando lo facevo ${RED}per esempio.

Non riesco a ricordare se questo era il modo giusto di farlo, ma era qualcosa di simile se ricordo;

NC="\033[0;0;0m"      # no color or formatting
RED="\033[1;49;91m"   # color red
BLU="\033[1;49;94m"   # color blue
GRN="\033[1;49;32m"   # color green

un altro che ricordo, stava usando in functionmodo che potesse essere usato in qualsiasi momento e ovunque. Avevo un file che mi mostrava come farlo, ma ho perso questo file che mostrava come farlo e non ricordo come va.

Risposte:


12

Puoi definire una funzione nel tuo ~/.bashrccome segue

showred(){
    export RED='\033[1;49;91m'
    export NC='\033[0;0;0m'
    echo -e $RED"$@"$NC
}

Sorgente ~/.bashrccome . ~/.bashrco aprire un nuovo terminale e provare.

inserisci qui la descrizione dell'immagine

Inoltre puoi scrivere a colori mentre scrivi qualcosa sul terminale usando echoo printfcome segue,

inserisci qui la descrizione dell'immagine


Sembra un modo più amichevole e pulito di farlo.

4
declare -r RED='\033[0;31m'
declare -r GREEN='\033[0;32m'
declare -r NC='\033[0m'

3

Potresti aver visto la $'...'sintassi, che fa sì che la shell interpreti le sequenze di barre rovesciate:

NC=$'\e[0m'       # no color or formatting
RED=$'\e[1;31m'   # color red
GRN=$'\e[1;32m'   # color green
BLU=$'\e[1;34m'   # color blue

Un altro modo per farlo, usando tput :

NC=$(tput sgr0)                  # no color or formatting
RED=$(tput bold; tput setaf 1)   # color red
GRN=$(tput bold; tput setaf 2)   # color green
BLU=$(tput bold; tput setaf 4)   # color blue

È possibile combinarli con le funzioni wrapper nella risposta di souravc; non avrai bisogno -e.

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.