Как динамически сократить текущий рабочий каталог в приглашении bash [duplicate]

Итак, я ищу способ сократить путь в подсказке, если он достигает определенной длины, например:

user1@localhost:~/Pictures/awesome_trip/

Было бы хорошо, но если мы перейдем в другие подкаталоги, например:

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

Я бы хотел, чтобы приглашение изменилось на

user1@localhost:/.../funny_pics

Я знаю, как изменить приглашение в . bashrc

Мне интересно, есть ли способ сделать это динамически, чтобы я мог получить текущую длину рабочего каталога, проверить длину и изменить подсказку. что-то вроде:

CUR_PROMPT=$(pwd); # get the working dir

CUR_PROMPT_LENGTH={#CUR_PROMPT}; # get the length

if[ $CUR_PROMPT_LENGTH -gt 20 ]; then 
  # if prompt is long, render shorter version
  PS1='\u@\h:...\w:\$';
else
  # else render long version
  PS1='\u@\h:\W:\$'

Надеюсь, есть способ сделать это, Спасибо за ответ.

1
задан 28 August 2021 в 04:46

0 ответов

Другие вопросы по тегам:

Похожие вопросы: