Вопрос Как я могу сократить приглашение командной строки (bash)?


В настоящее время это:

michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$

Вне переименования моей машины и структуры каталогов ...

Как я могу сделать это чем-то более похожим:

michael:controllers$

148
2018-06-02 18:48


происхождения


askubuntu.com/questions/816068/... - nazar2sfive


ответы:


Чтобы изменить его только для текущего экземпляра терминала

Просто введите PS1='\u:\W\$ ' и нажмите enter.


Чтобы изменить его «навсегда»,

В вашей ~/.bashrc, найдите следующий раздел:

если ["$ color_prompt" = yes]; тогда
    PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ и @ \ ч \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ ш \ [\ 033 [00m \] \ $ '
еще
    PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ u @ \ h: \ w \ $'
фи

Удалить @\h, и заменить \w с верхним регистром \W, так что это становится:

если ["$ color_prompt" = yes]; тогда
    PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ и \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ W \ [\ 033 [00m \] \ $ '
еще
    PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ u: \ W \ $'
фи

Сохраните, выйдите, закройте терминал и запустите другой, чтобы увидеть результат.


Тонны больше вариантов!

  • Видеть Вот для более обширного howto, со многими другими опциями
  • Видеть этот ответ для использования крошечного скрипта Python для установки приглашения, чтобы укорачивание происходило только тогда, когда вы глубоко в структуре каталогов.

213
2018-06-02 19:04



У вас также может быть много информации ... а затем возврат каретки в конце, как в unix.stackexchange.com/q/88780/10043 - Michael Durrant
Есть ли способ сделать это глобальным? Другими словами, если я согласен с другим пользователем, этот параметр переносится, но только для меня (т. Е. Не для пользователя, когда он обычно использует свою учетную запись)? - ctote
Чтобы иметь общий .bashrc, который работает как на Linux, так и на OSX, с тех пор я переключился на unix.stackexchange.com/a/127800/10043 - Michael Durrant
то есть HOST='\033[02;36m\]\h' HOST=' '$HOST parse_git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; } TIME='\033[01;31m\]\t \033[01;32m\]' LOCATION=' \033[01;34m\]pwd | sed "s # (/ [^ /] \ {1, \} / [^ /] \ {1, \} / [^ /] \ {1, \} /). * (/ [^ /] \ { 1, \} / [^ /] \ {1, \}) / \ {0,1 \} # \ 1_ \ 2 # г»' BRANCH=' \033[00;33m\]$(parse_git_branch)\[\033[00m\]\n\$ ' PS1=$TIME$USER$HOST$LOCATION$BRANCH PS2='\[\033[01;36m\]>' - Michael Durrant
но см. ответ на фактический код для использования. - Michael Durrant


Запустите этот код в текущем терминале

PROMPT_DIRTRIM=3

Теперь в приглашении bash будут отображаться только последние 3 имени каталога. Вы можете выбрать 1 для отображения только текущего каталога. Дополнительная информация доступна в документации GNU,

Эффект:

/var/lib/apt/lists# PROMPT_DIRTRIM=3
/.../lib/apt/lists# 

Если вы хотите сделать это навсегда, добавьте следующую строку: ~/.bashrc в начале:

PROMPT_DIRTRIM=3

или другое число больше нуля.


83
2018-05-02 06:49



Просто сидение: для этого требуется Bash 4. - Stefan Lasiewski
Nice ... Я добавил bach_alias для этого (с функцией) promptdir() { PROMPT_DIRTRIM=$1; } просто сделать жизнь проще ... - dgoosens


Это моя рекомендуемая настройка:

добавлено в ~/.bashrc 

PS1='[\u@\h \W]\$ '    

это выглядит так:

[user@hostname dirname]$

(с пробелом после $ знак)


15
2017-10-10 03:08



Как бы добавить пробел между каждым словом? Кроме того, могу ли я его покрасить? - Dani Springer


Лично я предпочитаю видеть только текущую папку в приглашении bash. Я могу сделать это с помощью следующей команды:

PS1='\W\$ '

Если вы хотите, чтобы он вступил в силу после каждого запуска, добавьте вышеприведенную команду в ваш ~ / .bashrc.


6
2018-05-20 11:01





Я понимаю, что это очень старый, но поскольку никто не предложил создать псевдоним, который, как я понял, я бы опубликовал. С помощью Последовательности побега Bash Prompt Я сделал псевдоним shorten 

В ~/.bash_aliases здесь вы заметите, что $ Blue var задает цвет приглашения, который вы можете опустить или изменить в зависимости от предпочтения. Я также очищаю терминал при вызове сокращения.

alias c='clear'

alias shorten='PS1="$Blue$USER:\W$ "&& c'

Чтобы достичь желаемой строки запроса OP:

alias shorten='PS1="$USER:\W$ "'

У меня есть цвета, определенные в ~/.bashrcкопировать и вставлять из https://wiki.archlinux.org/index.php/Color_Bash_Prompt, На стороне заметьте, что с цветами кода ansi? Я смущен, просто смотрю на это.

Blue='\e[0;34m'         # Blue

1
2017-10-26 21:03



Пошаговое руководство для этого было бы так полезно, поскольку я понятия не имею, как добраться до .bash_aliases. благодаря - Kayote
"" префикс указывает скрытый каталог или файл. Тильда «~» - это короткая форма переменной $ HOME. Итак, «~ / .bash_aliases» - это просто короткая форма «/home/$USER/.bash_aliases». Чтобы открыть «.bash_aliases», вы можете либо открыть терминал, либо ввести «gedit /home/$USER/.bash_aliases» или «gedit ~ / .bash_aliases» или в свой домашний каталог типа ctrl-h, чтобы показать скрытые файлы и открыть файл напрямую , Надеюсь, это поможет. Возможно, вы захотите также выполнить поиск Google для полезных псевдонимов. - Allie Carver