Biến nhắc $PS1
có thể không được đặt, vì vậy mặc định tích hợp \s-\v\$
được sử dụng.
Khi bash khởi động tương tác, nó sẽ tạo một tệp cấu hình, thường là ~/.bashrc
hoặc ~/.bash_profile
, giả sử chúng tồn tại và đây là cách thiết lập dấu nhắc fancier. Từ man bash
:
LIÊN QUAN
[...] Khi bash được gọi dưới dạng shell đăng nhập tương tác hoặc dưới dạng 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ự đó [...]
[...] Khi một vỏ tương tác không phải là vỏ đăng nhập được bắt đầu, bash đọc và thực thi các lệnh từ
~ / .bashrc, nếu tệp đó tồn tại.
Không có bộ nhắc nhở của bạn có thể xảy ra trong hai bối cảnh khác nhau, vỏ đăng nhập và vỏ không đăng nhập. Nếu bạn sử dụng trình quản lý hiển thị để đăng nhập trực tiếp vào GUI, bạn sẽ không gặp phải các vỏ đăng nhập trừ khi bạn chuyển sang bảng điều khiển ảo (thông qua, ví dụ CtrlAlt+ F1 đến F6). Tuy nhiên, bạn có thể kiểm tra hồ sơ đăng nhập bash của mình trong GUI bằng cách mở một vỏ đăng nhập mới một cách rõ ràng : bash -l
.
Sự cố xảy ra với shell không đăng nhập
Nếu sự cố xảy ra với, ví dụ, các thiết bị đầu cuối GUI bình thường, thì có thể là do bạn ~/.bashrc
bị thiếu hoặc có thể đã được chỉnh sửa để loại trừ việc tìm nguồn của một tệp toàn cầu /etc/bashrc
.
Nếu ~/.bashrc
không tồn tại, cần có một ứng /etc/skel/.bashrc
dụng để tạo nó cho người dùng mới. Chỉ cần sao chép tệp đó vào thư mục chính của bạn và lời nhắc mặc định của bạn sẽ quay lại cho trình bao mới tiếp theo bạn mở.
Nếu ~/.bashrc
có tồn tại, kiểm tra xem nếu có một dòng ở đâu đó mà nguồn /etc/bashrc
:
. /etc/bashrc
-OR-
source /etc/bashrc
Nếu không, hãy kiểm tra xem tệp đó có tồn tại không (ít nhất là trên hầu hết các bản phân phối linux) và thêm một dòng như vậy vào ~/.bashrc
.
Sự cố xảy ra với shell đăng nhập
Nếu sự cố xảy ra với các shell đăng nhập cũng như các shell không đăng nhập, thì vấn đề có thể giống như trên. Nếu nó chỉ xảy ra với các shell đăng nhập, thì bạn không có một trong các tệp được đề cập cho các shell đăng nhập theo trích dẫn HÓA ĐƠN ở trên, hoặc chúng không lấy nguồn của bạn ~/.bashrc
, điều này là bình thường trên hầu hết các distro linux. Nếu không có tệp nào trong số đó tồn tại, hãy tạo tệp ~/.bash_profile
này trong đó:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Điều này cho phép bạn, trong hầu hết các phần, giữ cấu hình của bạn trong một tệp ( ~/.bashrc
).
Nếu không có vấn đề gì bạn không thể lấy lại lời nhắc, bạn có thể tạo một cái và đặt nó ~/.bashrc
theo cách này:
if [ "$PS1 ]; then
PS1= .... # see below
fi
Điều này là do $ PS1 được đặt và có giá trị mặc định cho các vỏ tương tác và bạn không muốn đặt nó vì các thứ khác có thể sử dụng giá trị này để xác định xem đây có phải là môi trường tương tác hay không.
Trang bash man chứa phần KHUYẾN MÃI mô tả cách đặt lời nhắc với các tính năng động như tên người dùng và thư mục làm việc hiện tại của bạn, ví dụ:
PS1="\u \w:"
Có một hướng dẫn sử dụng màu sắc ở đây . Hãy chú ý đến thực tế là bạn nên kèm theo các ký tự không được in \[
và \]
(có một cuộc thảo luận về điều này ở cuối câu trả lời về màu sắc).