Tôi có một vấn đề là nếu tôi gõ các lệnh rất dài trong bash thì thiết bị đầu cuối sẽ không hiển thị những gì tôi đang gõ chính xác. Tôi hy vọng rằng nếu tôi có một lệnh như sau:
username@someserver ~/somepath $ ssh -i /path/to/private/key
myusername@something.someserver.com
Lệnh sẽ hiển thị trên hai dòng. Thay vào đó, nó sẽ thường quấn quanh và bắt đầu viết lên đầu lời nhắc của tôi, hơi giống như thế này:
myreallylongusername@something.somelongserver.comh -i /path/to/private/key
Nếu tôi quyết định quay lại và thay đổi một số đối số thì sẽ không biết con trỏ sẽ hiển thị ở đâu, đôi khi ở giữa dấu nhắc, nhưng thường ở dòng phía trên nơi tôi đang gõ.
Thêm niềm vui xảy ra khi tôi Upđến một lệnh trước đó. Tôi đã thử điều này trong cả gnome-terminal và terminator và trên i3 và Cinnamon. Ai đó đề nghị đó là lời nhắc của tôi, vì vậy đây là:
\[\033[01;32m\]\u:\[\033[01;34m\] \W\033[01;34m \$\[\033[00m\]
Ctrll, reset
và clear
tất cả làm những gì họ nói, nhưng khi tôi gõ lệnh trở lại hoặc Upđiều tương tự xảy ra.
Tôi đã kiểm tra và checkwinsize
được kích hoạt trong bash. Điều này xảy ra trên 80x24 và các kích thước cửa sổ khác.
Đây có phải là thứ tôi học được để sống cùng không? Có một số phép thuật mà tôi nên biết? Tôi đã giải quyết chỉ bằng cách sử dụng một dấu nhắc thực sự ngắn, nhưng điều đó không khắc phục được vấn đề.
\[\033[01;32m\]\u: \[\033[01;34m\]\W \[\033[01;34m\] \$ \[\033[0m\]
dường như tránh sự kỳ lạ trong hành vi - nhưng không biết liệu nó có tôn trọng hoàn toàn lời nhắc ban đầu của bạn không ...
tput smam
env -i bash --norc
sửa nó. Trận đấu $ COLUMNS và $ LINES. Điều đó có nghĩa là có gì đó buồn cười với .bashrc của tôi phải không?