Cách tự động đặt tiêu đề thiết bị đầu cuối thành tên thư mục mà không cần đường dẫn


11

Hiện tại, tiêu đề bash terminal / tab của tôi được đặt dựa trên thư mục tôi đang ở. Ví dụ:

bob@bobscomputer:~/i/had/some/great/pie/yesterday

Điều này không hữu ích nếu tôi có nhiều tab mở cạnh nhau. Ví dụ: nếu tôi có 4 tab của thư mục mở bên cạnh, tất cả những gì tôi thấy là

bob@bobscomputer:~/i/had...

4 lần.

Tôi muốn tất cả các tiêu đề thiết bị đầu cuối của tôi được đặt tự động thành phần cuối cùng của đường dẫn. Trong ví dụ trên, tôi muốn tiêu đề là

yesterday

Rõ ràng, tiêu đề nên thay đổi khi tôi thay đổi thư mục. Tôi muốn làm điều này mà không thay đổi lời nhắc của tôi, vì vậy lời nhắc và tiêu đề thiết bị đầu cuối sẽ khác nhau.

Có cách nào để làm việc này không?


Đối với ZSH, hãy xem tại đây: superuser.com/a/1328085/122021
LAFK nói Phục hồi lại

Câu trả lời:


11

Tại sao bạn muốn làm điều đó mà không sửa đổi biến PS1 của bạn? Đó là cách chính xác để làm điều đó.

Nếu bạn chạy như sau, bạn sẽ nhận được những gì bạn muốn:

export PS1="\[\e]0;\W\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

Đây chỉ là lấy dấu nhắc mặc định:

export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

... và thay thế \u@\h: \wbằng \W.

Bạn có thể làm điều tương tự với bất kỳ lệnh nào lặp lại mã thoát đúng:

echo -en "\e]0;${PWD##*/}\a"

... nhưng sau đó bạn sẽ liên tục chiến đấu với bash để ngăn không cho nó sử dụng PS1 (cách tốt nhất).


2
Cảm ơn - Tôi đã không nhận ra PS1 đặt tiêu đề và lời nhắc một cách độc lập. Trong phần mềm. nó làm chính xác những gì tôi muốn
Bắt cóc Ếch

Câu hỏi này thực hiện tốt công việc giải thích tất cả những gì mà gobbledygook của
congusbongus

3

Đúng. Chuẩn bị: \[\e]0;\W\a\]vào PS1 của bạn. Điều này sẽ không thay đổi giao diện nhắc nhở của bạn, nhưng sẽ tự động đặt tiêu đề tab thiết bị đầu cuối của bạn thành tên cơ sở của thư mục làm việc hiện tại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.