В настоящее время это:
michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$
За пределами переименования моей машины и структуры каталогов ...
Как я мог сделать это что-то вроде:
michael:controllers$
Просто введите PS1 = '\ u: \ W \ $'
и нажмите ввод.
В вашем ~ / .bashrc
найдите следующий раздел:
if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi
Удалите @ \ h
и замените \ w
заглавными буквами \ W
, чтобы он стал следующим:
if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u:\W\$ ' fi
Сохранить, выйти, закрыть терминал и запустить другой, чтобы увидеть результат.
Запустить этот код в текущем терминале
PROMPT_DIRTRIM=3
Теперь в приглашении bash будут отображаться только последние 3 имени каталога. Вы можете выбрать 1, чтобы показать только текущий каталог. Дополнительная информация доступна в документации GNU .
Эффект:
/var/lib/apt/lists# PROMPT_DIRTRIM=3
/.../lib/apt/lists#
Если вы хотите сделать это навсегда, добавьте следующую строку в ~ / .bashrc
в начале :
PROMPT_DIRTRIM=3
или другое число больше нуля.
Это мой предпочтительный параметр подсказки:
добавлен в ~ / .bashrc
PS1='[\u@\h \W]\$ '
] это выглядит так:
[user@hostname dirname]$
(с пробелом после знака $
)
Лично я предпочитаю видеть только текущую папку в приглашении bash. Я могу сделать это с помощью следующей команды:
PS1='\W\$ '
Если вы хотите, чтобы она вступала в силу после каждого запуска, добавьте указанную выше команду в ваш ~ / .bashrc.
Я понимаю, что это очень старо, но так как никто не предлагал создавать псевдоним, я решил поместить его. Используя Bash Prompt Escape Sequences я сделал псевдоним shorten
В ~/.bash_aliases
здесь вы заметите вариатор $Blue для установки цвета подсказки, который вы можете пропустить или изменить в зависимости от предпочтений Я также очищаю терминал при вызове shorten.
alias c='clear'
alias shorten='PS1="$Blue$USER:\W$ "&& c'
Для достижения желаемой строки запроса оператора:
alias shorten='PS1="$USER:\W$ "'
у меня есть цвета, определенные в ~/.bashrc
, скопированные и вставленные с https://wiki.archlinux.org/index.php/Color_Bash_Prompt. Обратите внимание, что такое кодовые цвета ansi? Я запутался, просто глядя на это.
Blue='\e[0;34m' # Blue
Я написал функцию вы можете изменить в соответствии с вашими потребностями:
function termprompt() {
PS1="${PS1//@\\h/}" # Remove @host
PS1="${PS1//\\w/\\W}" # Change from full directory to last name
}
Поместите эту функцию в конец ~ / .bashrc
или рядом с ним после того, как строка PS1
будет полностью вычислена.
Вы должны набирать termprompt
всякий раз, когда хотите сократить вашу подсказку, или вызывать termprompt
из нижней части вашего ~ / .bashrc
для постоянства.
Преимущество этого метода перед многими другими ответами заключается в том, что .bashrc
может настроить PS1
четырьмя различными способами (xterm + no-color, xterm + color, no-xterm + no-color, no -xterm + цвет). Этот ответ поддерживает все четыре текущих метода и, вероятно, будущие методы.
Еще одно преимущество этого метода состоит в том, что этот метод имеет менее сложные управляющие коды, которые необходимо пройти, чтобы вставить ваши изменения.
Отмечая ответы, которые я нашел в этом посте, я придумал шаблон, который я предпочитаю использовать. Я также включаю цвета в команду.
Это выглядит так:
[ folder ]$ Command
Чтобы протестировать его для текущего экземпляра терминала
PS1='\[\033[01;34m\][ \W ]\[\033[00m\]$ '
Чтобы сделать его постоянным для каждого экземпляра терминала
echo "PS1='\[\033[01;34m\][ \W ]\[\033[00m\]\$ '" >> ~/.bashrc