Điểm:2

Cách rút ngắn thư mục làm việc hiện tại trong dấu nhắc bash một cách linh hoạt

lá cờ tr

Vì vậy, tôi đang tìm cách rút ngắn đường dẫn trong lời nhắc nếu nó đạt đến độ dài xác định, chẳng hạn như:

user1@localhost:~/Pictures/awesome_trip/

Sẽ ổn thôi, nhưng nếu chúng ta cd vào nhiều thư mục con hơn, chẳng hạn như:

user1@localhost:~/Pictures/awesome_trip/first_day/mikes_camera/funny_pics

Tôi muốn lời nhắc thay đổi thành

user1@localhost://.../funny_pics

Tôi biết cách thay đổi lời nhắc trong .bashrc

Tôi đã tự hỏi liệu có cách nào để làm cho nó linh hoạt sao cho tôi có thể lấy độ dài hiện tại của thư mục đang hoạt động và kiểm tra độ dài cũng như thay đổi lời nhắc. một cái gì đó dọc theo dòng:

CUR_PROMPT=$(pwd); # lấy thư mục làm việc

CUR_PROMPT_LENGTH={#CUR_PROMPT}; # lấy độ dài

nếu[ $CUR_PROMPT_LENGTH -gt 20 ]; sau đó 
  # nếu lời nhắc dài, hãy hiển thị phiên bản ngắn hơn
  PS1='\u@\h:...\w:\$';
khác
  # khác kết xuất phiên bản dài
  PS1='\u@\h:\W:\$'

Hy vọng rằng có cách để làm điều này, Cảm ơn bạn vì câu trả lời.

lá cờ hr
Shell bash đã triển khai cơ chế `PROMPT_DIRTRIM` cho điều đó - xem [Làm cách nào để rút ngắn dấu nhắc dòng lệnh (bash) của tôi?](https://askubuntu.com/a/459355/178692)
Telegonicaxx avatar
lá cờ tr
@steeldriver Đây chính xác là những gì tôi đang tìm kiếm. Tôi không thể tin rằng tôi đã không bắt gặp nó trong khi tìm kiếm nó trên Google. Cảm ơn bạn!
Điểm:0
lá cờ cn

Bạn có thể sử dụng một cái gì đó giống như mã dưới đây. Chỉ cần thêm nó vào tệp .bashrc trong thư mục chính của bạn. Về cơ bản, nó sẽ làm cho lời nhắc của bạn giống như "user@computername [dir] $" để có thể trông giống như telegonicaxx@laptop [shared] $

xuất PS1="\u@\h [\W] \$\[$(tput sgr0)\]"

Bạn có thể tạo kiểu và màu sắc lời nhắc của riêng mình bằng cách sử dụng trang web được liên kết bên dưới

http://bashrcgenerator.com/

Telegonicaxx avatar
lá cờ tr
Cảm ơn bạn @Roxana, đây thực sự là một trang web hay, cảm ơn bạn đã chia sẻ nó. Không chính xác những gì tôi đang tìm kiếm mặc dù

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.