it-swarm-vi.tech

Thay đổi nhắc nhở Cygwin

Nhắc nhở cygwin mặc định của "[email protected] path\ n$" quá dài đối với tôi. Tôi muốn giữ con đường.

Tôi muốn nó trở thành:

đường dẫn $

Có một tập tin cấu hình tôi có thể sửa đổi để làm điều này?

17
Cristian

Biến môi trường PS1 điều khiển Lời nhắc:

PS1='\w $ '

Để biết thêm thông tin về điều này và các chủ đề cấu hình Nhắc khác, hãy nhập man bash (giả sử bash là Shell của bạn) và xem phần "KHUYẾN MÃI".

Để thay đổi này vĩnh viễn, hãy chỉnh sửa tệp ~/.bashrc của bạn để thêm dòng trên.

26
Greg Hewgill

Shell đăng nhập là một ký tự có ký tự đầu tiên của đối số 0 là - hoặc bắt đầu bằng tùy chọn --login. Khi bash được gọi dưới dạng Shell đăng nhập tương tác hoặc Shell không tương tác với tùy chọn --login, trước tiên, nó sẽ đọc và thực thi các lệnh từ tệp/etc/profile, nếu tệp đó tồn tại. Sau khi đọc tệp đó, nó sẽ tìm ~/.bash_profile, ~/.bash_login và ~/.profile, theo thứ tự đó, đọc và thực thi các lệnh từ lệnh đầu tiên tồn tại và có thể đọc được. Tùy chọn --noprofile có thể được sử dụng khi Shell bắt đầu ngăn chặn hành vi này Khi Shell tương tác không phải là Shell đăng nhập được khởi động, bash đọc và thực thi các lệnh từ ~/.bashrc, nếu tệp đó tồn tại.

Vì vậy, nó phụ thuộc ... tôi không sử dụng --login, vì vậy tôi phải thêm nó vào ~/.bashrc

1
jr00n

.bashrc không hoạt động với tôi. Tôi đã thêm phần này vào cuối/etc/profile và nó hoạt động:

export PS1="\[\e[33m\]\w\[\e[0m\] \$ "

Tôi đang sử dụng Cygwin phiên bản 2.11.2 (phiên bản mới nhất kể từ 2018-12-18).

1
Samuel

Không chắc chắn tại sao có ít ngữ cảnh tốt hơn là có nhiều hơn ... Thực tế là có một dòng mới trong Lời nhắc có nghĩa là độ dài của Lời nhắc không nên là một vấn đề, nhưng hãy thử điều này:

PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

hoặc là

export PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

Điều này cung cấp cho bạn một Nhắc màu:

/full/path/to/current/folder
$your command text here

Bằng cách đó, bạn luôn thấy ngữ cảnh thư mục đầy đủ của mình nhưng vẫn nhận được một dòng đầy đủ để nhập văn bản. (Tôi đã bỏ không gian thông thường theo sau '$' vì nó được tô màu cho rõ ràng).

Colours are:
    1. '/full/path/...' = yellow;
    2. '$' (on next line) = cyan;
    3. 'your command text...' = light grey.

Đối với những người KHÔNG muốn bối cảnh 'user @ hostname':

PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

hoặc là

export PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

Điều này cung cấp cho bạn một Nhắc màu:

[email protected] /full/path/to/current/folder
$your command text here

Đây là sở thích của tôi.

Colours are:
    1. 'user' = (light) green;
    2. '@' = pink;
    3. 'hostname' = (light) green;
    4. '/full/path/...' = yellow;
    5. '$' (on next line) = cyan;
    6. 'your command text...' = light grey.

(Không, không có lỗi chính tả trong bài này - Tiếng Anh của Nữ hoàng;))

1
skeetastax

Đặt cái này trong ~/.bashrc của bạn. Cung cấp một dấu nhắc màu và giữ trạng thái trong một dòng duy nhất.

export PS1="\[\e]0;\w\a\]\n\[\e[32m\]\[email protected]\h \[\e[33m\]\w\[\e[0m\]\$ "
0
Sandeep