Le mercredi 17 avril, Ismael Touama a écrit :
> > bash a pu s'emmêler les pinceaux avec ton prompt. Il faut que tu
> > encadres dans PS1 les séquences de caractères non imprimables par \[ et
> > \]. Cf. man bash, section PROMPTING.
>
> J'ai pas tout saisi mais va falloir du temps je crois
> sous redhat c'est PROTECTION.
Non. Dans la page de manuel de bash en français, c'est la section
intitulée « SYMBOLE D'ACCUEIL (PROMPT) » :
\[ débute une série de caractères non-
imprimables, qui permettent d'inclure des
séquences de contrôle de terminal dans une
chaîne d'accueil
\] fin d'une série de caractères non-
imprimables
En gros, au lieu d'écrire
PS1="\033[1;36m[\u@\h \W]\033[0m\\$ "
tu dois écrire
PS1="\[\033[1;36m\][\u@\h \W]\[\033[0m\]\\$ "
Sans ça tu auras des bugs d'afficage dès que la longueur de ta ligne de
commande approche la largeur de ton terminal.
Tu peux aussi taper \e au lieu de \033 et omettre ton \\ :
PS1="\[\e[1;36m\][\u@\h \W]\[\e[0m\]$ "
> # echo '$\a' ne sonne pas chez moi ? alors que la traduction de l'hexa se
> fait ...
echo -ne '\a'
PS: Fais attention à la façon dont tu cites, c'est un peu confus. Et tu
n'as pas besoin de m'envoyer deux copies de ta réponse.
--
Edgar Bonet Tel: +33 476 881 096
Laboratoire Louis Néel -- CNRS Mobile: +33 677 197 939
25 av. des Martyrs, BP 166 Fax: +33 476 881 191
38042 Grenoble cedex 9, France e-mail: bonet@???