GNU/Linux >> Linux Esercitazione >  >> Linux

Stai colorando il tuo terminale e l'ambiente della shell?

Passo la maggior parte del mio tempo a lavorare in ambienti Unix e ad utilizzare emulatori di terminale. Cerco di usare il colore sulla riga di comando, perché il colore rende l'output più utile e intuitivo.

Quali opzioni esistono per aggiungere colore al mio ambiente terminale? Che trucchi usi? Quali trabocchetti hai incontrato?

Sfortunatamente, il supporto per il colore varia a seconda del tipo di terminale, del sistema operativo, dell'impostazione TERM, dell'utilità, delle implementazioni con bug, ecc.

Ecco alcuni suggerimenti dalla mia configurazione, dopo molte sperimentazioni:

  1. Tendo a impostare TERM=xterm-color , che è supportato sulla maggior parte degli host (ma non su tutti).
  2. Lavoro su diversi host, diverse versioni del sistema operativo, ecc. Uso di tutto, da macOS X, Ubuntu Linux, RHEL/CentOS/Scientific Linux e FreeBSD. Sto cercando di mantenere le cose semplici e generiche, se possibile.
  3. Faccio un sacco di lavoro usando GNU screen , che aggiunge un altro livello di divertimento.
  4. Molti sistemi operativi impostano cose come dircolors e per impostazione predefinita, e non voglio modificarlo su cento host diversi. Quindi cerco di attenermi alle impostazioni predefinite. Invece, modifico la configurazione del colore del mio terminale.
  5. Usa il colore per alcuni comandi Unix (ls , grep , less , vim ) e il prompt di Bash. Questi comandi sembrano utilizzare le "sequenze di escape ANSI" standard. Ad esempio:

    alias less='less --RAW-CONTROL-CHARS'
    export LS_OPTS='--color=auto'
    alias ls='ls ${LS_OPTS}'
    

Pubblicherò il mio .bashrc e rispondi alla mia stessa domanda Jeopardy Style.

Risposta accettata:

Ecco un paio di cose che puoi fare:

Editor + codice
Molti editor supportano l'evidenziazione della sintassi. vim e emacs averlo acceso per impostazione predefinita. Puoi anche abilitarlo in nano .

Puoi anche evidenziare la sintassi del codice sul terminale usando Pigmenti come strumento da riga di comando.

grep
grep --color=auto mette in evidenza tutte le partite. Puoi anche usare export GREP_OPTIONS='--color=auto' per renderlo persistente senza alias. Se usi --color=always , utilizzerà il colore anche durante le tubazioni, il che confonde le cose.

ls

ls --color=always

Colori specificati da:

export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'

(suggerimento:dircolors può essere utile)

PS1
Puoi impostare la tua PS1 (prompt della shell) per utilizzare i colori. Ad esempio:

PS1='e[33;[email protected]: e[31mWe[0m$ '

Produrrà una PS1 come:

[giallo][protetto tramite email]:[rosso]~[normale]$

Puoi diventare davvero creativo con questo. Come idea:

PS1='e[se[0;0He[1;33mh    tne[1;32mThis is my computere[u[[email protected]:  w]$ '

Mette una barra nella parte superiore del tuo terminale con alcune informazioni casuali. (Per risultati migliori, usa anche alias clear="echo -e 'e[2Jnn'" .)

Sbarazzarsi delle sequenze di fuga

Correlati:risoluzione dello schermo non elencata?

Se qualcosa è bloccato emettendo il colore quando non lo desideri, io uso questo sed riga per rimuovere le sequenze di escape:

sed "s/[^[[0-9;]*[a-zA-Z]//gi"

Se desideri un'esperienza più autentica, puoi anche eliminare le righe che iniziano con e[8m , che indica al terminale di nascondere il testo. (Non ampiamente supportato.)

sed "s/^[^[8m.*$//gi"

Nota anche che quelle ^[s dovrebbero essere effettive, letterali ^[s. Puoi digitarli premendo ^V^[ in bash, ovvero Ctrl + V , Ctrl + [ .


Linux
  1. Velocità terminale:Muoversi velocemente nel tuo guscio

  2. Registra il tuo terminale con script e scriptreplay

  3. Come impostare/creare variabili di ambiente e shell in Linux

  4. La differenza di utilizzo tra variabili Shell e variabili d'ambiente?

  5. 9 Esempi di tput UNIX / Linux:controlla il colore e il cursore del tuo terminale

Cambia il tema del colore del tuo terminale Linux

Dai un tocco di colore al tuo terminale Linux con lolcat

Ricevi valutazioni e recensioni di film direttamente sul tuo terminale

I 10 migliori temi e combinazioni di colori di Ubuntu Terminal

Bash Beginner Series n. 1:crea ed esegui il tuo primo script Bash Shell

Qual è la differenza tra una console, un terminale e una shell?