bashでスクロールバックする際のSSH接続での間違った改行


4

GNOMEターミナルでSSH接続を介してBashターミナルを使用しています。サーバーはDebian Linux、クライアントはUbuntu Linuxです。

長い行の出力は適切に表示されますが、bash履歴でスクロールするためにUPキーを使用すると、出力は80文字だけになり、その後壊れて同じ行で再び開始されます。

次のようになります。

server01:/ usr / local / bin#very-long-command parameter1 paramter2 paramter3

ただし、次のようになります。

parameter3 usr / local / bin#very-long-command parameter1 paramter2 

これをクリアするには、「CTRL + L」、「clear」または「reset」コマンドを使用します。
シャドック

回答:


1

これは、とで囲まれていないエスケープシーケンス(によって生成されるtput)がプロンプトにある場合に発生する可能性があります。これらのバックスラッシュブラケットは、エスケープシーケンスが画面上の水平スペースを占有しないことをBashに伝えます。エスケープシーケンスの周りにそれらがない場合、Bashはエスケープシーケンスの各バイトを表示可能な文字としてカウントします。\[\]


私はプロンプトにそのようなものがあるとは思わない...それは標準のDebianプロンプトです。
アレックス

1
を入力しecho "$PS1" | od -cます。出力に値を持つ文字が表示される場合033、プロンプトにエスケープシーケンスがあります。
フラン

0

入力すると何が得られますecho $TERMか?

それはGNOME特定思わGNOMEや他の何かを指摘されている場合は、あなたのような、より汎用的なものを試してみたいことがありvt100xtermまたはxterm-256color

Gnomeターミナルウィンドウが80文字よりずっと広い場合、この問題は同じですか?


「xterm」です。また、gnome端末が80文字より広い場合は、小さい幅のみが使用されます。
アレックス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.