# [Terminal] problème avec la ligne de commande (résolu)

## over_score

Bonjour,

Cela fait très longtemps que j'utilise Gentoo, depuis la 1.4, et cette métadistribution est géniale. C'est elle qui m'a tout appris sur linux.

Quasiment depuis le début j'ai un bug pas très gênant (enfin je m'y suis fait) qui se produit dans un terminal quelconque sous X ou non.

Il se produit tous les jours lorsque j'utilise la console avec des lignes de commande longue.

J'ai (enfin) décidé de prendre le taureau par les cornes.

Voici un exemple qui est reproductible systématiquement chez moi. L'important n'est pas le résultat des commandes mais les commandes elles mêmes :

```
martin@quad ~ >su -

Mot de passe : 
```

```
root@quad ~ >ls .keep

-rw-r--r-- 1 root root 0 2008-06-17 19:37:30.000000000 +0200 .keep
```

```
root@quad ~ >emerge -pv nvidia-drivers nvidia-settings

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] x11-drivers/nvidia-drivers-260.19.36  USE="gtk (multilib) -acpi -custom-cflags" 0 kB

[ebuild   R   ] media-video/nvidia-settings-260.19.29  0 kB

Total: 2 packages (2 reinstalls), Size of downloads: 0 kB
```

Maintenant lorsque j'appuie une fois sur la flèche vers le haut, il affiche

```

root@quad ~ >emerge -pv nvidia-drivers nvidia-settings
```

Et lorsque j'appuie une 2ème fois sur la flèche vers le haut, le terminal affiche :

```
root@quad ~ >emerge -pv nvidia-driversls .keep
```

La ligne de commande précédente est partiellement remplacée par ls .keep

Si je fais entrée, la commande ls .keep fonctionne.

Si je tente d'effacer avec backspace cela marche jusqu'au l du ls. Le s de drivers ne s'efface pas.

C'est comme si la ligne de commande commençait après "root@quad ~ >emerge -pv nvidia-drivers".

Je peux taper n'importe quelle commande cela fonctionne. Et après coup le prompt est de nouveau OK

Donc depuis au moins 7 ans ce bug a survécu à toutes les mises à jour et à la réinstallation sur au-moins 3 PC dont 2 x86_64.

J'ai le même bug sur 2 serveurs Gentoo au boulot.

Alors si quelqu'un a une idée, elle est la bienvenue !Last edited by over_score on Sun Mar 20, 2011 9:27 am; edited 1 time in total

----------

## netfab

Salut,

Un problème avec ta variable PS1, quel shell utilises-tu ? Quel est le contenu du fichier de configuration de ce shell ? (~/.bashrc pour bash)

----------

## over_score

Salut,

Merci pour ta réponse rapide.

J'utilise bash :

```
root@quad ~ >echo $PS1

\033[1;31m\u@\h \033[1;32m\w\033[1;34m >\033[0m
```

```
root@quad ~ >cat .bashrc

cat: .bashrc: Aucun fichier ou dossier de ce type
```

```
root@quad ~ >cat /etc/profile.d/martin.sh 

export PS1='\033[1;31m\u@\h \033[1;32m\w\033[1;34m >\033[0m'

alias ls='ls -aFN --color --full-time'

export PATH="/bin:/sbin:/usr/bin:/usr/sbin:${PATH}:~/bin"
```

----------

## netfab

Voici la mienne (celle par défaut sous gentoo, définie dans /etc/bash/bashrc, fourni par bash).

```

$ echo $PS1

\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\]

```

Tu remarqueras que dans la tienne il manque les [ ] échappés.

----------

## over_score

Effectivement en utilisant celle par défaut le bug disparaît (dans ce cas au moins).

De même en rajoutant les \[ et les \] aux bons endroits cela à l'air de fonctionner :

```
\[\033[1;31m\]\u@\h\[\033[1;32m\] \w \[\033[1;34m\]>\[\033[0m\]
```

J'avais depuis mes débuts sous Gentoo ce PS1 personnalisé et je l'ai bien sur copié de PC en PC.

Et je suis certain qu'au début il n'y avait pas ce problème...

Edit :

Je viens de vérifier : dans bash-2.04, je pense que c'est avec celui là que j'ai commencé, ces \[ et \] existaient déjà. Donc je dois avoir ce problème depuis toujours mais ne l'ai pas remarqué tout de suite.

Merci netfab

----------

