2009-10-02 67 views
9

video cho thấy các vấn đề: http://www.mentaframework.org/download/TerminalBug.movLỗi phiền toái cho Mac Terminal.app - Cách sửa lỗi?

Khi tôi gõ trên Terminal.app và đến cuối dòng, dòng tiếp theo bắt đầu từ ngày đầu dòng đầu tiên, ghi đè lên tất cả mọi thứ. Sau đó, nếu tôi sử dụng phím xóa tất cả mọi thứ messes lên và biến mất.

Tôi đã làm một ssh trong cùng một thiết bị đầu cuối cho một máy chủ khác và nó hoạt động tốt, vì vậy nó có thể là một vấn đề với cấu hình vỏ của tôi?

Xem phim để xem những gì sẽ xảy ra:

Cảm ơn,

-Sergio

+0

Hi Sergio. Bạn có thể sẽ có may mắn hơn tại http://superuser.com. –

+1

Video là liên kết bị hỏng. –

Trả lời

18

Bạn cần phải đánh dấu các mã thoát trong biến PS1 của bạn được thiết lập nhắc màu của bạn. Shell cần biết rằng chúng không thể in được và sau đó nó sẽ tính toán đường bao bọc của bạn đúng cách.

Dưới đây là một liên kết đến một lời giải thích và một số ví dụ:

http://www.artemfrolov.com/articles/coloured-bash-prompt

Những mẹo nhanh:

\[  begins a sequence of non-printing characters 
\]  ends a sequence of non-printing characters 
+0

Điều đó đã làm nó !!! Cảm ơn rất nhiều! – TraderJoeChicago

+0

Không sao cả. Vui vẻ giúp đỡ. –

+0

URL bị hỏng –

1

http://www.artemfrolov.com/articles/coloured-bash-prompt hiện trống (như trong, hãy truy cập trong Chrome/Firefox/Opera và chỉ thấy khoảng trắng, không có nội dung). Vì vậy, sau khi nghiên cứu các ví dụ here, đang thấy rằng chuyển đổi:

export PS1='\e[0;32m\[email protected]\h\e[m \D{%b %d} \t $ ' 

mà phá vỡ, để

export PS1='\[\e[0;32m\]\[email protected]\h\[\e[m\] \D{%b %d} \t $ ' 

dường như làm việc cho tôi (như là một bổ sung, ví dụ cụ thể).

riêng, và hơi lạc đề, nhưng hữu ích (ít nhất là tài liệu tham khảo của tôi): để nâng cấp trên với hữu ích "con đường nén" và in đậm-xanh user @ host ở dấu nhắc:

export MYPS='$(echo -n "${PWD/#$HOME/~}" | awk -F "/" '"'"'{if (length($0) > 14) { if (NF>4) print $1 "/" $2 "/.../" $(NF-1) "/" $NF; else if (NF>3) print $1 "/" $2 "/.../" $NF; else print $1 "/.../" $NF; } else print $0;}'"'"')' 
export PS1='\[\e[1;32m\]\[email protected]\h\[\e[m\] \D{%b %d} \t $(eval "echo ${MYPS}")$ ' 

** Chỉnh sửa **: bài tập PS1 này (dòng thứ 2), imo, dễ đọc hơn nhiều:

export MYPS='$(echo -n "${PWD/#$HOME/~}" | awk -F "/" '"'"'{if (length($0) > 14) { if (NF>4) print $1 "/" $2 "/.../" $(NF-1) "/" $NF; else if (NF>3) print $1 "/" $2 "/.../" $NF; else print $1 "/.../" $NF; } else print $0;}'"'"')' 
export PS1='[email protected]\[$(tput bold)\]$(hostname -s)\[$(tput sgr0)\] \D{%b %d} \t $(eval "echo ${MYPS}")$ ' 
+0

Tại sao tôi nhận được phiếu giảm giá ở trên? –

Các vấn đề liên quan