Hiển thị một dòng mới trên dấu nhắc


53

Tôi muốn thêm một dòng mới trên mỗi dấu nhắc. Thay vì con trỏ hiển thị trên dòng như name@machine:~$ _,

Tôi muốn nó ở dòng tiếp theo, như:

name@machine:~$
_

Cảm ơn.

Câu trả lời:


69
  • Mở tệp ~/.bashrc(hoặc /etc/bash.bashrcnếu nó sẽ hoạt động trên toàn cầu cho tất cả người dùng).

  • Xác định vị trí biến được gọi PS1.

  • Đơn giản chỉ cần đặt một \nở cuối giá trị của PS1biến.


18
Cách dễ nhất để làm điều này là thêm PS1 = "$ PS1 \ n" vào cuối tệp ~ / .bashrc của bạn.
Dennis VanMeter

3
Đoán rằng dễ duy trì hơn - tại sao không làm cho nó một câu trả lời mới? :)
htorque

Vâng, tôi đã làm điều đó. có quá nhiều dòng để nối thêm \ n, vì vậy tôi đã tạo một biến mới.
theTuxRacer

8

Tôi thích sử dụng một .bashrctập tin tùy chỉnh

Đầu tiên, nối các dòng sau vào ~/.bashrctệp của bạn :

##
## INCLUDE CUSTOM `.bashrc` CODE
##
if [ -f ~/.bashrc_custom ]; then
    . ~/.bashrc_custom
fi

Tạo tập tin tùy chỉnh:

touch ~/.bashrc_custom`

Cuối cùng mở nó và đặt các dòng sau vào:

# File: $HOME/.bashrc_custom
# THIS FILE IS A USER-CUSTOM BASHRC FILE TO KEEP CLEAN THE DEFAULT ~/.barshrc FILE.
# PUT THERE ANY CUSTOM CODE MANUALLY ADDED BY YOU


# Add a new line at the end of the command prompt
#PS1=${PS1}\\n
PS1=${PS1%?}
PS1=${PS1%?}\n'$ '

Phiên shell mở tiếp theo sẽ như sau:

user@host:~
$ <your-next-command-will-be-rendered-here>

4
Tại sao bạn khuyên bạn nên sử dụng tệp .bashrc tùy chỉnh? Không chính xác tại sao .bashrc trong thư mục chính của bạn tồn tại? Tôi hiểu rằng bạn có thể sử dụng và sửa đổi .bashrc được tạo mặc định, nhưng hơn khi bạn muốn sử dụng .bashrc trên các hệ điều hành khác, bạn không thể vì bạn phụ thuộc vào tệp .bashrc mặc định và nếu nó không giống nhau thì nó có thể hoạt động khác.
Michal Bernhard
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.