J'ai un problème où si je tape de très longues commandes dans bash, le terminal ne rendra pas ce que je tape correctement. Je m'attendrais à cela si j'avais une commande comme celle-ci:
username@someserver ~/somepath $ ssh -i /path/to/private/key
myusername@something.someserver.com
La commande doit être rendue sur deux lignes. Au lieu de cela, il se déroulera souvent et commencera à écrire par-dessus mon invite, un peu comme ceci:
myreallylongusername@something.somelongserver.comh -i /path/to/private/key
Si je décide de revenir en arrière et de changer d'argument, rien ne dit où le curseur apparaîtra, parfois au milieu de l'invite, mais généralement sur la ligne ci-dessus où je tape.
L'amusement supplémentaire se produit quand quand je Upà une commande précédente. J'ai essayé cela à la fois dans gnome-terminal et terminator, ainsi que sur i3 et Cinnamon. Quelqu'un a suggéré que c'était ma réponse, alors voici:
\[\033[01;32m\]\u:\[\033[01;34m\] \W\033[01;34m \$\[\033[00m\]
Ctrll, reset
et clear
tous font ce qu’ils disent, mais c’est quand je tape la commande ou que Uples mêmes choses se passent.
J'ai vérifié et checkwinsize
est activé dans bash. Cela se produit sur 80x24 et d'autres tailles de fenêtre.
Est-ce juste quelque chose que j'apprends à vivre? Y a-t-il un morceau de magie que je devrais savoir? Je me suis contenté d'utiliser une invite très courte, mais cela ne résout pas le problème.
\[\033[01;32m\]\u: \[\033[01;34m\]\W \[\033[01;34m\] \$ \[\033[0m\]
semble éviter le comportement bizarre - mais je ne sais pas si cela respecte complètement votre invite d'origine ...
tput smam
env -i bash --norc
corrige. Les correspondances $ COLUMNS et $ LINES. Est-ce que cela signifie qu'il y a quelque chose de drôle avec mon .bashrc?