一段时间以来,我在所有终端上都遇到了这个持续存在的问题,从我俩都使用过的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
输出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
可能是您的程序
—
WinEunuuchs2Unix
test
使终端处于不稳定状态。如果这是一个脚本,您可以在问题中包含它吗?如果您没有test
先运行就开始输入,文本会自动换行吗?
我们也可以看到输出
—
钢铁司机
stty -a
吗?
@ WinEunuuchs2Unix错误测试(双关语意)。试试吧
—
muru
type -a test
。
输出是
—
egmont
printf "%q\n" "$PS1"
什么?PS1内可能有原始的转义序列,并%s
使其完整无损(这可能会例如来回更改颜色,而该颜色在输出中不会被注意到)。%q
用可读的方式引用每个不可打印的字符。
printf "%s\n" "$PS1" "$COLUMNS"
。