leo*_*eod 15 command-line bash
一段时间以来,我在所有终端上都遇到了这个持续存在的问题,从我都使用的 gnome default 和 tilda 到我刚刚快速旋转的那些,我的输入将在应该时覆盖它自己的行的开头换行,并且只在下一行换行。
按 Ctrl-A 返回到该行的开头,而是将我返回到我的第一个输入行之前的行中某个位置,从该行中输入更多信息会变得非常奇怪。
因为这是一个非常糟糕的解释并且难以想象,所以它的外观如下:
有谁知道这是什么?它不仅在某些情况下发生,而且是一个永久性的事情,从每个终端模拟器中的每个会话的开始到结束始终存在。
的输出printf "%s\n" "$PS1" "$COLUMNS":
leod:~$ printf "%s\n" "$PS1" "$COLUMNS"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
80
Run Code Online (Sandbox Code Playgroud)
的输出stty -a:
leod:~$ stty -a
speed 38400 baud; rows 11; columns 140; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
Run Code Online (Sandbox Code Playgroud)
您的终端可能无法正确识别窗口大小。我在 U&L Stackexchange 中发现了一个相关问题,有人建议使用以下方法来检查这是否是正在发生的事情:
类型
shopt | grep checkwinsize
Run Code Online (Sandbox Code Playgroud)
如果输出不是:
checkwinsize on
Run Code Online (Sandbox Code Playgroud)
您可以使用
shopt -s checkwinsize
Run Code Online (Sandbox Code Playgroud)
激活。停用:shopt -u checkwinsize