Если я нахожусь в глубоком каталоге, скажем:
~/Desktop/Dropbox/School/2017/C/A3/
затем, когда я открываю терминал, он говорит
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
а потом я пишу свою команду. Это очень долго, и каждая строка, которую я пишу в терминале, переходит на следующую строку. Я хочу знать, есть ли способ, чтобы он отображал только мой текущий каталог. Я хочу, чтобы это отображалось:
bob@bob-ubuntu: A3/$
Таким образом, это очень ясно, и я всегда могу pwd
посмотреть весь каталог. Я просто не хочу, чтобы весь каталог был виден в терминале, потому что он занимает слишком много места.
export PROMPT_DIRTRIM=3
на ваш.bashrc
- это идеальная середина между\W
и\w
. См: gnu.org/software/bash/manual/html_node/Bash-Variables.htmlПредполагая, что вы используете bash, измените строку приглашения (переменная PS1), чтобы она
\W
вместо\w
.например, если ваш PS1 в настоящее время
\u@\h:\w\$
, установите его на\u@\h:\W\$
Чтобы сделать это постоянным, вам придется изменить его в файлах запуска bash - например,
~/.bash_profile
или~/.bashrc
.смотрите
man bash
и ищитеPROMPTING
полную информацию и список специальных символов с обратной косой чертой.источник
\w
в PS1 на\W
. или вы можете просто установить подсказку на что угодно в нижней части скрипта.в этом случае вам придется редактировать PS1 ,
В этом случае у
\w
вас будет команда или переменная, которая показывает сокращенный путь:оригинальный PS1
изменить на
Обратите внимание, что имя пользователя будет застраховано до ~, если вы находитесь в своей домашней директории!
чтобы избежать этого, вам понадобятся несколько команд, застрахованных в $ {PWD ## * /}, например
новый PS1 будет выглядеть следующим образом
oOps, пока я пытаюсь спасти мир, у меня не было идеи | прощение \ W
источник
Это портативно для всех
sh
оболочек.Назначьте
PS1
в один из ваших файлов запуска оболочки:Приглашение будет выглядеть
Где
dir
находится базовое имя текущего каталога.$PWD
Переменная содержит текущий путь к каталогу, и${PWD##*/}
лишит все вплоть до последнего/
в этом пути.Одинарные кавычки не позволяют форме оболочки оценивать подстановку переменных во время присваивания (значение
$PS1
будет оцениваться при каждом отображении подсказки).PS1
Переменная не должна быть экспортирована как он используется только в текущей оболочке.источник
https://github.com/chrissound/SodiumSierraStrawberry
Позволяет вам обрезать путь как:
источник