2009-04-19 9 views
1

Est-il possible d '"aliaser" toutes les commandes pour ajouter --color? Ou plutôt l'avoir automatiquement activé pour chaque programme qui le supporte?Ajouter --color à toutes les commandes Unix

+0

Voir aussi http://stackoverflow.com/questions/563500/what-unix-commands-support- color-output –

Répondre

2

Comment le shell peut-il savoir automatiquement quels programmes supportent l'option --color? Vous devriez lui donner une liste, et aussi longtemps que vous allez faire cela, vous pourriez aussi bien lui donner une liste de commandes d'alias à exécuter. Je suppose que cela pourrait se faire par programme quelque chose comme ça (en bash):

for cmd in ls blah foo; do 
    alias "$cmd=$cmd --color" 
done 
1

Il y a vraiment très peu de programmes qui prennent en charge l'option --color, et ils ne sont pas réellement écrits par une seule organisation. Ainsi, ils ne se réfèrent pas à un emplacement central pour leurs options. Heck, le n'a même pas un jeu d'arguments uniforme, donc juste l'option --color à la fin de chaque commande causerait probablement beaucoup de dégâts!

Je crains que vous auriez à alias l 'un. Par exemple, pour ls:

alias ls='ls --color' 
3

Vous devez être prudent avec cela, surtout quand enchaînant les invocations.

grep --color=yes 'foo' bar.txt | less #leads to weird ANSI stuff in output 
grep --color=yes 'foo' bar.txt | less -R #binary codes interpreted as colors 

En gros, cela peut bousiller ... pipelining Je recommande des choses aliasing avec sortie colorisée pour séparer les commandes pour éviter de faire « cmd | myprog » et obtenir des résultats étranges en raison de la norme ANSI intégré.

+0

La plupart des commandes ont --color = tty à cet effet – Joshua

+0

Certaines commandes (comme grep) supportent '--color = auto' qui va coloriser la sortie si et seulement si stdout est un terminal. Si stdout est un tube, ils ne coloriseront pas. –

-1

au lieu d'essayer de changer chaque commande

pourquoi ne pas simplement changer la façon dont la console affiche les couleurs

+0

Changer la console comment? Pour faire apparaître magiquement des couleurs pour le texte que la commande n'a pas marqué? –

Questions connexes