Bjr.
Ce sujet de la colorisation a déjà été abordé au fil du temps, et ce n’est pas la seule manière de faire :
ôte moi d’un doute ? modifies-tu directement le fichier /etc/bash.bashrc ?
parce que les modifications PS1 sont à faire dans ton ~/.bashrc personnel.
Quoiqu’il en soit, dans le fichier personnel, les tests pour la coloration des commandes sont déjà intégrées, et correctement en plus, tel que :
(…)
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
(…)
En fait dans ce fichier personnel, des tests sont implémentés pour détecter si le terminal est capable d’afficher des couleurs et de coloriser non seulement des variables d’environnement tel PS1, mais aussi d’autres sorties « écran ».
personnellement, je ne te recommanderais même pas de toucher le fichier personnel .bashrc, mais de faire ces modifications dans un fichier secondaire qui est normalement appelée et qui se trouve être ~/.bash_aliases ou tout autre fichier créé pour l’occasion, mais il te faudra le sourcer dans le .bashrc perso.
Ainsi pour les exports de variables, j’ai créé un fichier perso .export_var_env, qui est sourcé en fin de fichier ~/.bashrc où sont enregistrés toutes mes déclarations, tel que :
export LESSOPEN="| /usr/bin/source-highlight-esc.sh %s"
export LESS="-eFMRX"
# https://blog.shevarezo.fr/post/2018/01/25/comment-avoir-couleurs-pages-man-linux
export LESS_TERMCAP_mb=$'\e[1;31m'
export LESS_TERMCAP_md=$'\e[1;31m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[1;32m'
if [ -x $(command -v batcat) ]; then
export COLORTERM="truecolor"
export MANPAGER="bat -p man"
fi
par exemple de mon .bash_aliases, j’ai entres autres les aliases suivants :
### GRC: Generic Colouriser
if [ -x /usr/bin/grc ]; then
GRC_ALIASES=true
[[ -s "/etc/profile.d/grc.sh" ]] && source /etc/profile.d/grc.sh
fi
alias ip="COLORFGBG=';1' ip -c"
if [ -x /usr/bin/prettyping ]; then
alias ping="prettyping"
fi
alias dmesg="dmesg -HTL=always"
Voilà, c’était des exemples…
ceux concernant les sorties liées à l’utilisation des outils dmesg, ping sont intéressantes.
Maintenant, concernant l’utilisation de la variable ${debian_chroot}, je n’y avais jamais fait attention. Donc, non, tu ne touches pas à cette déclaration, en aucune manière.
À minima, tu fais tes modifications dans le fichier perso, normalement vierge, ~/.bash_aliases.
Le reste est pourtant bien expliqué dans l’article en question, surtout les aspects expliquant ce qu’est PS1, comment la créer/modifier avec tels symboles d’échappements.
Par contre, vu que dans le fichier perso .bashrc, les définitions de colorisation, telles
eval "`dircolors -b`" #On active le support des couleurs si ce n'est pas encore fait :)
alias ls='ls --color=auto' #On crée notre alias
sont déjà intégrées, et correctement ; donc il n’est pas nécessaire de les (re)définir !
Pour finir, oui tu peux modifier le fichier perso ~/.bashrc, mais avant, stp, penses à le sauvegarder au cas où tes modifications empêcheraient son bon fonctionnement ; si cela arrive, il te suffira de supprimer ton fichier modifié, puis de renommer le fichier sauvegardé ! 