GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Perché i colori Git non vengono visualizzati quando si utilizza Watch?

Quando si esegue git status -sb Vedo:

Voglio watch (da procps-ng 3.3.3) un repository. Il --color l'opzione dovrebbe mantenere i colori.

È interessante notare che funziona con ls :

$ watch --color "ls --color"

Mostrando:

Tuttavia per git i colori scompaiono:

$ watch --color "git status -sb"

Allora, perché watch mostra i colori da ls ma non da git uscita?

Risposta accettata:

Le seguenti affermazioni sono vere:

  • watch esegue il comando in una nuova shell, sh .
  • .bashrc alias ls come ls --color=auto per abilitare i colori.
  • sh non eredita né usa bash alias.

Quindi quando watch esegue ls , non sta chiedendo i colori, sta solo eseguendo la semplice vecchia versione. Puoi aggirare questo problema ma, come sottolinea aditya, devi anche abilitare i colori su watch affinché li elabori correttamente.

Un esempio funzionante per ls è:

watch --color -- ls --color=always

Se non superi --color da guardare, vedrai un sacco di brutti codici colore in linea.

ls --color viene interpretato come ls --color=always .

ls --color=auto non colore di stampa nell'orologio. Ciò suggerisce che stia deducendo il supporto del colore dal terminale stesso.

Per ulteriori informazioni sul motivo, possiamo verificare se la shell dell'orologio pensa che sia un vero terminale:

$ bash -c '[[ -t 1 ]] && echo "real terminal"'
real terminal

$ watch -- "bash -c '[[ -t 1 ]] && echo "real terminal"'"
# ... nothing.

Sospetto che alcune applicazioni stiano guardando quello (o simili) per dire se devono attivare i colori o meno.


Ubuntu
  1. Quando si utilizza Vlc, perché lo screen saver continua a svegliarsi?

  2. Git Completamento automatico?

  3. Perché viene mostrata una singola barra rovesciata quando si utilizzano le virgolette?

  4. Perché le istantanee di Back In Time sembrano essere così grandi?

  5. Perché usare innodb_file_per_table?

Perché posso vedere l'output dei processi in background?

Perché non è possibile masterizzare un DVD multisessione utilizzando Brasero?

Perché Shotwell ha le posizioni X e Y invertite quando si utilizza Crop?

Utilizzo del comando Watch in Linux

Procedura:un'introduzione all'uso di Git

Perché il mio Ubuntu è in ritardo durante lo spostamento di Windows?