У мене виникла проблема, коли, якщо я наберу дуже довгі команди в bash, термінал не відобразить те, що я правильно вводить. Я б очікував, що якби у мене була така команда:
username@someserver ~/somepath $ ssh -i /path/to/private/key
myusername@something.someserver.com
Команда повинна відображатись у двох рядках. Натомість вона часто загортається і починає писати над моїм підказкою, приблизно так:
myreallylongusername@something.somelongserver.comh -i /path/to/private/key
Якщо я вирішу повернутися назад і змінити якийсь аргумент, там не буде сказано, де з’явиться курсор, іноді посеред підказки, але зазвичай у рядку вгорі, де я друкую.
Додаткове задоволення трапляється, коли я переходжу Upдо попередньої команди. Я спробував це як в гном-терміналі, так і в термінаторі, а також в i3 та Cinnamon. Хтось підказав, що це моє підказка, тож ось що:
\[\033[01;32m\]\u:\[\033[01;34m\] \W\033[01;34m \$\[\033[00m\]
Ctrll, reset
і clear
всі роблять те, що вони говорять, але коли я набираю команду назад або Upвідбувається те ж саме.
Я перевірив, і checkwinsize
він включений в bash. Це відбувається в розмірах 80x24 та інших розмірах вікон.
Це просто те, з чим я вчуся жити? Чи є якась магія, яку я повинен знати? Я вирішив просто використовувати дуже короткий підказку, але це не вирішує проблему.
\[\033[01;32m\]\u: \[\033[01;34m\]\W \[\033[01;34m\] \$ \[\033[0m\]
начебто уникає дивацтва в поведінці - але не знаю, чи повністю він поважає ваш оригінальний підказки ...
tput smam
env -i bash --norc
виправляє її. $ COLUMNS та $ LINES відповідають. Це означає, що з моїм .bashrc є щось смішне?