2010-01-08 37 views
28

Tôi đang sử dụng PuTTY để đăng nhập vào máy chủ Debian. Tôi có vấn đề kỳ lạ này khi một lệnh tôi gõ quá dài, nó không bao bọc và bắt đầu một dòng mới. Thay vào đó, nó bắt đầu ở đầu của cùng một dòng và bắt đầu ghi đè lời nhắc và sau đó bắt đầu lệnh.Dòng lệnh tự ghi đè khi các lệnh quá dài

Lệnh này sẽ chạy tốt, nhưng nó thực sự gây phiền nhiễu, tôi giả sử có một số cài đặt có thể sửa lỗi này cho tôi?

+0

Restore xuống (un-maximize) cửa sổ và tối đa hóa nó một lần nữa Làm việc tốt – Morgtician

Trả lời

9

Tôi đã nhìn thấy hành vi này khi bạn thay đổi kích thước cửa sổ Putty trong khi một lệnh khác đang chạy vì bash không nhận được tín hiệu cho biết cửa sổ đã thay đổi kích thước.

Nếu đây là vấn đề thêm:

shopt -s checkwinsize 

nên làm cho nó biến mất.

-2

Không có gì để làm với putty một "bash" ism của nó.

của nó khá hữu ích khi bạn đang quen với nó, nhưng nếu nó làm phiền bạn, bạn có thể chuyển sang "ksh" mà làm điều gì đó khác nhau với dòng lệnh dài (không chắc chắn những gì trên Debian!)

+1

Không, không phải trong putty, thường nó kết thúc tốt đẹp lệnh. Một điều khác của nó, đôi khi xảy ra. – Frunsi

+0

Readline (mà Bash sử dụng để chỉnh sửa dòng tương tác) không có tùy chọn 'ngang-chế độ cuộn-scroll', nhưng nó không hoàn toàn phù hợp với các triệu chứng được báo cáo của OP. – ephemient

7

Hãy thử:

eval $(resize) 

+0

Cảm ơn! những công việc này!! Nhưng tại sao lệnh này hoạt động? – user15964

+0

nó hoạt động trên PUTTY. Tôi đã kết nối Ubuntu 12.04 với putty. Cảm ơn. – svlzx

+0

Điều này làm việc cho tôi chỉ khi tôi gõ nó bằng tay, khi tôi đặt này bên trong. Bashrc nó không hoạt động, bất kỳ ý tưởng? cảm ơn bạn. –

7

Hãy thử nhấn Ctrl + L. (Hoặc có thể Alt +L -. một cái gì đó + L anyway) Nếu tôi nhớ không nhầm này chiếu lại đoạn mã để tìm ra kích thước thiết bị đầu cuối của bạn và điều chỉnh cho phù hợp.

+2

Điều này làm việc cho tôi. 'Ctrl + L' – bdwakefield

+0

Đây là tham chiếu bash nếu bạn quan tâm, Ctrl + l sẽ xóa màn hình. https://www.gnu.org/software/bash/manual/html_node/Commands-For-Moving.html –

57

Tôi vừa tự giải quyết vấn đề này.

Đó chỉ là một số thoát màu trong cửa sổ lệnh 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 ❯ " 

Vấn đề là các literals màu không được kèm theo trong ngoặc đơn. Đặt dấu ngoặc vuông xung quanh chúng sẽ khắc phục sự cố hoàn toàn:

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 ❯ " 

Hy vọng điều này sẽ hữu ích.

+2

Cùng một giải pháp đã khắc phục được sự cố của tôi. cảm ơn – gecco

+3

Điều đó cũng đã sửa nó cho tôi! Bạn có được một upvote. – Ari

+2

Tôi đã chiến đấu trong vài ngày nay. Bạn đã làm cho ngày của tôi và bạn đã upvote! – piotrekkr

1
Ctrl-l 

Ctrl-l hoạt động. Tôi đoán putty cần thiết để

1

này solution làm việc cho tôi: Thêm đoạn mã sau để .bashrc của bạn:

if [ $(tty) == '/dev/ttyS0' ]; then 
    trap resize DEBUG 
fi 
Các vấn đề liên quan