Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/02/2021, à 20:14

Betamine

machines UNIX qui tournent en KSH et en BASH

Bonjour,
À mon travail, j'utilise des machines UNIX qui tourne en KSH et en BASH selon les serveurs, j'ai remarqué que certains mot sortaient en couleur, même si on ne demande pas d'utiliser de couleur.
Par exemple "yes" en vert, "no" et "error" en rouge, etc. Pareil pour Mobaxterm quand je fais du bash sous Windows (mais pas pour les mêmes mots).

Je voulais savoir s'il est possible de faire en sorte que d'autres mots sortent dans une couleur prédéfinie sans avoir à modifier un à un mes scripts pour que ces mots sortent en couleur ?
Merci smile

Hors ligne

#2 Le 25/02/2021, à 21:12

MicP

Re : machines UNIX qui tournent en KSH et en BASH

Bonjour

On peut tout faire sous linux,
à condition de bien comprendre comment ça fonctionne,
savoir à quel niveau le faire et ce pour chaque contexte.

Parce qu'on peut aussi rendre son système très compliqué à dépanner
si par malheur on a modifié quelque chose
sans vraiment bien connaître les conséquences que ça pourrait entraîner.

Par exemple, la commande ls peut afficher des couleurs
si on utilise cette commande l'option color

Cette option est d'ailleurs souvent activée par défaut
si l'écran du terminal utilisé est capable d'afficher des couleurs
et aussi dans certaines autres conditions trop longues à expliquer.

Mais comme tu le vois, elle affiche des couleurs différentes
suivant le type de fichier, de ses attributs,
et si ce fichier est un lien et qu'il est opérationnel ou non la couleur sera différente, etc.

Les couleurs de la commande ls sont définies
dans la variable d'environnement LS_COLORS
voir :

echo $LS_COLORS

Donc, voir aussi la page man de la commande ls

Les couleurs du pager less sont définies ailleurs
et c'est une toute autre histoire, avec d'autres variables.

Par exemple, pour pouvoir visualiser les pages man en couleur,
(car c'est la commande (pager) less qui est utilisée par défaut pour les afficher)
j'ai créé et ajouté le bloc de lignes suivantes à mon fichier ~/.bashrc
(en réalité, j'ai mis ce bloc ailleurs, mais c'est depuis ce script qu'il est lancé)
pour définir certaines variables spécifiques à ce pager.

# Pager less en couleurs => man pages en couleurs
#  Voir :
#         man termcap
#         man console_codes
#
export                             \
LESS_TERMCAP_mb=$'\033[1;31m'      \
LESS_TERMCAP_md=$'\033[1;38;5;74m' \
LESS_TERMCAP_me=$'\033[0m'         \
LESS_TERMCAP_se=$'\033[0m'         \
LESS_TERMCAP_so=$'\033[1;44;33m'   \
LESS_TERMCAP_ue=$'\033[0m'         \
LESS_TERMCAP_us=$'\033[1;32m'

=======
En résumé, si tu créé ton script et que ce script envoie des messages à l'écran du terminal,
tu peux facilement savoir où, comment, quand et dans quel contexte utiliser les couleurs et lesquelles,
mais pour les scripts et commandes déjà existantes, il vaut mieux d'abord passer un peu de temps
à lire les pages man de ces commandes, et fouiller dans la cascade de scripts
que cette commande utilise avant de faire des bêtises en pensant l'améliorer.

Moi je trouve ça passionnant de fouiller la dedans,
mais bon, il faut dire aussi que je suis un peu "spécial" smile

Dernière modification par MicP (Le 25/02/2021, à 22:32)

Hors ligne