2010-01-08 201 views
28

我正在使用PuTTY登錄到Debian服務器。我有這個奇怪的問題,當我打字的命令太長時,它不會環繞並開始新的一行。而是從相同的行開始,並開始覆蓋提示,然後覆蓋命令的開頭。當命令變得太長時,命令行會覆蓋自身

該命令將運行得很好,但它真的很煩人,我假設有一些設置可以解決這個問題嗎?

+0

向下還原(未最大化)窗口和最大化再次 工作得很好 – Morgtician 2017-01-30 13:25:00

回答

9

我已經在調整Putty窗口的大小時看到這種行爲,而另一個命令正在運行,因爲bash沒有收到告訴窗口已調整大小的信號。

如果這是添加的問題:

shopt -s checkwinsize 

應該讓它消失。

-2

與膩子沒什麼關係,它是一個「bash」主義。

它,一旦你習慣了,但如果你煩惱,你可以切換到該做一些不同的東西,長的命令行「的ksh」相當有用的(不知道在Debian!)

+1

沒有,不在膩子中,通常它包裝命令。它的另一件事,有時會發生。 – Frunsi 2010-01-08 01:36:45

+0

Readline(Bash用於交互式行編輯)確實有一個「橫向滾動模式」選項,但它並不完全符合OP報告的症狀。 – ephemient 2010-01-08 23:07:58

7

嘗試:

eval $(resize) 

+0

謝謝!這工作!但爲什麼這個命令有效? – user15964 2013-11-11 13:42:16

+0

它在PUTTY上工作。我將Ubuntu 12.04與putty連接起來。謝謝。 – svlzx 2014-01-22 11:14:32

+0

這隻適用於我手動輸入的時候,當我把它放在.bashrc裏面時它不起作用,有什麼想法嗎?謝謝。 – 2015-08-27 08:57:27

7

嘗試按下Ctrl鍵+大號。 (也許Alt鍵 + 大號 - 東西 + 大號反正)如果我沒有記錯的話這重新運行代碼來找出你的終端規模,並相應調整。

+2

這對我有用。 'Ctrl + L' – bdwakefield 2015-02-17 02:16:21

+0

這裏是bash的參考,如果你感興趣的話,Ctrl + l會清除屏幕。 https://www.gnu.org/software/bash/manual/html_node/Commands-For-Moving.html – 2016-05-27 16:33:44

57

我剛剛解決了這個問題。

這只是在PS1命令提示符一些顏色逃逸:

LTGREEN="\033[40;1;32m" 
LTBLUE="\033[40;1;34m" 
CLEAR="\033[0m" 
LIGHT_GRAY="\033[40;1;33m" 
export PS1="$LTGREEN\[email protected]\h:$LIGHT_GRAY\w$CLEAR ❯ " 

的問題是,彩色文本沒有用括號括起來。放置在他們周圍的轉義括號可以完全解決問題:

LTGREEN="\[\033[40;1;32m\]" 
LTBLUE="\[\033[40;1;34m\]" 
CLEAR="\[\033[0m\]" 
LIGHT_GRAY="\[\033[40;1;33m\]" 
export PS1="$LTGREEN\[email protected]\h:$LIGHT_GRAY\w$CLEAR ❯ " 

希望這會有所幫助。

+2

同樣的解決方案也解決了我的問題。謝謝 – gecco 2012-03-21 09:28:56

+3

這也給我修好了!你先生得到upvote。 – Ari 2012-11-07 17:08:55

+2

我現在爲此奮戰了幾天。你做了我的一天,你已經upvote! – piotrekkr 2013-06-09 19:51:16

1
Ctrl-l 

Ctrl-l的工作原理。我想需要

1

膩子這solution爲我工作: 添加以下代碼片段到你的.bashrc

if [ $(tty) == '/dev/ttyS0' ]; then 
    trap resize DEBUG 
fi