обрезать рабочий каталог командной строки терминала

Вы еще не можете. Эта функция подходит, скорее всего, в 10.10, и есть сообщение в блоге с запросом пользователей о том, как это должно быть представлено, поэтому, если вам так хочется, вы можете высказать свое мнение здесь.

1
задан 2 February 2016 в 14:04

4 ответа

Если вы используете bash4 (у Ubuntu 9.10 и new есть bash4), самый простой вариант - просто установить переменную PROMPT_DIRTRIM. например:

PROMPT_DIRTRIM=2

Для одного, подобного примеру João Pinto (который будет работать в более старых версиях bash и гарантирует, что компонент пути никогда не превышает 30 символов), вы можете сделать что-то вроде этого:

PS1='[\u@\h:$(p=${PWD/#"$HOME"/~};((${#p}>30))&&echo "${p::10}…${p:(-19)}"||echo "\w")]\$ '
59
ответ дан 25 May 2018 в 23:56

Другой способ решения этой проблемы - включить разрыв строки в PS1, чтобы рабочий каталог и фактическое приглашение отображались в отдельных строках, например:

PS1="\w\n>"
9
ответ дан 25 May 2018 в 23:56
  • 1
    Подобно thiis, это не изменить вашу подсказку PS1, а просто запустить вашу команду с помощью \ и нажать Enter . Это заставляет команду начинать на следующей строке с приглашения PS2, которое обычно & gt; ... (я не думал об этом, пока не увидел ваше предложение :) – Peter.O 16 December 2010 в 23:36

Добавьте это к нижней части вашего ~/.bashrc

split_pwd() {
        # Only show ellipses for directory trees -gt 3
        # Otherwise use the default pwd as the current \w replacement
        if [ $(pwd | grep -o '/' | wc -l) -gt 3 ]; then
                pwd | cut -d'/' -f1-3 | xargs -I{} echo {}"/../${PWD##*/}"
        else
                pwd
        fi
}


export PS1="\$(split_pwd) > "

. По общему признанию, это, возможно, было бы более чистым, но я хотел получить трещину.

Ожидаемый результат для более трех слоев.

/home/chris/../Node Projects >

Ожидаемый выход для каталогов с рабочего стола и обратно.

/home/chris/Desktop > 
/home/chris >  
/home
1
ответ дан 25 May 2018 в 23:56

Мне нравится это больше всего, PS1="[\W]\\$ "

0
ответ дан 25 May 2018 в 23:56

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

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