Bonjour,
j'utilise putty pour me logger en ssh sur un serveur woody.
La version de bash est :
# bash --version
GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu)
Copyright 2001 Free Software Foundation, Inc.
J'ai configuré ma locale en UTF-8.
Lorsque je tape la séquence de caractères "ls aé" sur la ligne de
commande, j'ai des caractères "ls aé" qui sont correctement affichés.
Maintenant, je tape backspace pour effacer le "é" et je le remplace par
"2". J'ai les caractères "ls a2" qui sont donc affichés.
Je valide la commande, et bash me retourne une erreur :
# ls a2
ls: a▒2: Chaîne multi-octets ou étendue de caractères invalide ou incomplète
Comme vous le voyez, il y a un caractère pourri qui a été inséré, comme
si le caractère codé sur 2 octets n'avait été que partiellement supprimé.
Je n'ai pas du tout ce comportement sous vim, qui est configuré pour
fonctionner en UTF-8. De même pour putty.
En faisant quelques recherches, j'ai constaté que l'auteur de putty
mettait en garde les utilisateurs sur des incompatibilités possibles de
certaines applications avec unicode.
En cherchant du côté de bash, j'ai trouvé le patch suivant :
ftp://ftp.gnu.org/pub/gnu/bash/bash-2.05b-patches/bash205b-007
Hé ! ça ressemble à un patch pour mon problème.
Le truc, c'est qu'une version 2.05b, il n'y en a pas en paquet, visiblement.
Par ailleurs, si je regarde le paquet debian 2.05a, c'est une version
patchée, à la debian, j'ai l'impression :
# apt-cache showpkg bash
Package: bash
Versions:
3.0-3(/var/lib/apt/lists/ftp.fr.debian.org_debian_dists_unstable_main_binary-i386_Packages)
2.05a-11(/var/lib/apt/lists/ftp.fr.debian.org_debian_dists_stable_main_binary-i386_Packages)(/var/lib/dpkg/status)
il y a en effet un "-11" qui suit, comme si c'était la 11ème version du
2.05a pour woody.
Bref, je ne sais pas trop quoi penser : est-ce que le patch 7 pour la
2.05b aurait été appliqué à la 2.05a-11, et que donc le bug existe
toujours ? ou bien faut-il que je compile un bash moi-même ?
Ça m'ennuie de devoir compiler le shell sur lequel presque tout le reste
repose, en cas de bug corrigé dans les patches "-11", mais pas en 2.05b
prise sur le site de gnu.
Il y a peut-être un moyen plus simple de corriger le problème, tout en
restant en UTF-8 ? genre virer le mode vi, mais je n'ai pas compris
comment ça marchait.
Je donc suis à l'écoute de vos conseils avisés :)
--
pii 233