Dấu nhắc thiết bị đầu cuối bị rối sau khi thay đổi giá trị của PS1


9

Tôi đã bất cẩn nhập một lệnh trong thiết bị đầu cuối đáng lẽ phải có trong tập lệnh shell:

export PS1=$PATH:~/drush23/drush/

bây giờ trong thiết bị đầu cuối của tôi thay vì này:

ubuntu@ip-10-16-134-18:/home/ubuntu$

Tôi thấy điều này:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/ubuntu/drush23/drush/

và khi tôi thay đổi thư mục, dòng này luôn ở lại ... Tôi không biết phải làm gì

Tôi có byobu ...

Câu trả lời:


13

$PS1là một biến môi trường cho biết shell của bạn cách định dạng dấu nhắc. Thay đổi giá trị với export, như bạn đã làm, chỉ áp dụng cho phiên đó; vì vậy bạn chỉ có thể mở một shell mới (không phải shell phụ) và xem lời nhắc quen thuộc.

Mặt khác, nếu bạn thực sự muốn nhắc lại trong phiên này, chỉ cần chạy lại tệp tùy chọn của shell. Đối với người dùng Bash, đó là:

. ~/.bashrc

Tôi không biết nếu điều đó sẽ hoạt động (ít nhất, mà không gây ra các vấn đề khác) cho Byobu; nhưng bạn chỉ có thể đặt lời nhắc thành giá trị lành mạnh như thế này:

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

Hoặc, nếu bạn không muốn hoặc không thể có dấu nhắc màu, một cách đơn giản hơn sẽ là:

export PS1='\u@\h:\w\$ '

\utên người dùng của bạn ở đâu , \hlà tên máy chủ của bạn và \wlà đường dẫn đầy đủ (hợp lý) của thư mục làm việc hiện tại của bạn.


tôi không biết $ PS1 đã kiểm soát ... cảm ơn!
Moshe Shaham

chỉ cần nhấn trong thiết bị đầu cuối . ~/.bashrc. Nó sẽ thiết lập lại PS1biến và bạn sẽ nhận lại lời nhắc của mình.
souravc

@souravc Bạn có chắc chắn sẽ không gây ra sự cố cho OP không? Anh ấy đang sử dụng Byobu.
Yatharth Agarwal

@YatharthROCK Tôi không nghĩ nó sẽ gây ra vấn đề gì. Bạn đang mong đợi vấn đề gì có thể xảy ra?
souravc

@souravc Xin lỗi, đã không nghĩ thẳng.
Yatharth Agarwal

1

Bạn có thể đặt thành PS1giá trị hợp lý cho phiên Terminal này bằng cách sử dụng:

export PS1=$'\h:\w\$'

Giá trị cũ cũng cần được khôi phục sau khi đóng và khởi động lại Terminal, khởi động lại, v.v.


0

tôi đã có vấn đề tương tự. Tôi đã sử dụng PS1 để đặt lời nhắc thành "Kiểm tra" ..

Sau đó tôi không thể quay lại dấu nhắc màu mặc định.

tuy nhiên tôi đã kiểm tra một số câu trả lời trong trang web này và tôi phải kiểm tra xem tôi đang chạy shell nào.

Tôi đã thử $ SHELL và nó đã được đặt lại về giá trị dấu nhắc màu mặc định của nó.

"$ SHELL"

Tôi không phải là một chuyên gia trong việc này. Điều này hoàn toàn là tình cờ, tôi không biết điều này sẽ làm việc cho bạn hay không.

Nhưng nó đáng để thử.


Bạn có thể giải thích những gì bạn đã làm SHELL?
Stephen Rauch

Tôi thực sự không biết làm thế nào nó hoạt động .. Tôi cũng không chỉnh sửa bất cứ điều gì liên quan đến shell. Hãy kiểm tra liên kết ảnh chụp màn hình: imgur.com/a/l4SGtBK
Ravi Kiran

1
FYI, điều này chỉ đơn giản là chạy một vỏ mới. Nếu bạn chạy exit, bạn sẽ quay lại dấu nhắc lộn xộn.
NerdOfLinux
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.