Ho un problema in cui se digito comandi molto lunghi in bash il terminale non visualizzerà ciò che sto digitando correttamente. Mi aspetto che se avessi un comando simile al seguente:
username@someserver ~/somepath $ ssh -i /path/to/private/key
myusername@something.someserver.com
Il comando dovrebbe eseguire il rendering su due righe. Invece spesso si avvolge e inizia a scrivere sopra il mio prompt, un po 'così:
myreallylongusername@something.somelongserver.comh -i /path/to/private/key
Se decido di tornare indietro e cambiare qualche argomento, non c'è modo di dire dove apparirà il cursore, a volte nel mezzo del prompt, ma di solito sulla riga sopra dove sto scrivendo.
Divertimento aggiuntivo si verifica quando Upa un comando precedente. L'ho provato sia in gnome-terminal che in terminator e su i3 e Cinnamon. Qualcuno ha suggerito che fosse il mio suggerimento, quindi eccolo qui:
\[\033[01;32m\]\u:\[\033[01;34m\] \W\033[01;34m \$\[\033[00m\]
Ctrll, reset
e clear
tutti fanno ciò che dicono, ma quando digito nuovamente il comando o Upsuccede le stesse cose.
Ho controllato ed checkwinsize
è abilitato in bash. Questo accade su 80x24 e altre dimensioni di finestre.
È solo qualcosa con cui imparo a convivere? C'è qualche pezzo di magia che dovrei sapere? Ho deciso di utilizzare solo un prompt molto breve, ma questo non risolve il problema.
\[\033[01;32m\]\u: \[\033[01;34m\]\W \[\033[01;34m\] \$ \[\033[0m\]
sembra evitare la stranezza nel comportamento - ma non so se rispetta completamente il tuo prompt originale ...
tput smam
env -i bash --norc
risolve. La partita $ COLUMNS e $ LINES. Significa che c'è qualcosa di divertente nel mio .bashrc?