しばらくの間、私はすべての端末でこの永続的な問題を抱えていました。両方の使用するgnomeのデフォルトと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の間違ったテスト(意図的なしゃれ)。
—
ムル
type -a test
代わりに試してください。
の出力は
—
エグモント
printf "%q\n" "$PS1"
何ですか?PS1の中に生のエスケープシーケンスがあり、%s
それらをそのままにします(たとえば、出力で気付かないまま色を前後に変更する場合があります)。%q
印刷できないすべての文字を読みやすい方法で引用します。
printf "%s\n" "$PS1" "$COLUMNS"
ください。