Вопрос или проблема
Я могу напечатать текущую рабочую директорию вот так
myPrompt$ pwd
/Users/me/myDir
Я хочу, чтобы моя оболочка выглядела вот так
/Users/me/myDir$ pwd
/Users/me/myDir
Это возможно? Как я могу это сделать?
Вы можете использовать последовательности управляющих символов в переменных приглашения.
Поместите это в ваш ~/.bashrc
:
PS1='\w\$ '
Вот однострочная команда для OSX. Она добавляет желаемое приглашение в файл профиля и затем перезагружает профиль.
echo "PS1='\w\$ '" >> ~/.bash_profile; source ~/.bash_profile
На El Capitan вам нужно использовать
echo "PS1='\w\$ '" >> ~/.profile; source ~/.profile
По какой-то причине '\w\$'
не сработал для меня, но вместо этого я сделал: export PS1="$(pwd) \$"
и это сработало.
Похоже на старую тему, но шаги ниже сработали для меня на OS X 10.9.5
- поместите
PS1='\w\$ '
в~/.profile
- если вы внесли какие-либо изменения в
~/.bashrc
, удалите их - закройте терминал с помощью cmd+q
- перезапустите терминал
Для пользователей Python и Conda:
Добавьте следующую строку в ~/.bashrc
и выполните source ~/.bashrc
после сохранения.
Следующее покажет среду conda, имя пользователя, имя устройства и базу текущей рабочей директории.
Кроме того, она окрашена в циан.
PS1="\e[0;36m ($CONDA_DEFAULT_ENV) \u@\h \W → \e[m "
Это задаст ваше приглашение пользователя текущей директории и завершит его двоеточием:
Отредактируйте ~/.bashrc следующим кодом:
PS1='$PWD: '
Затем выполните файл, чтобы увидеть эти изменения в действии:
source ~/.bashrc
Мое предложение ДЛЯ LINUX DEBIAN (спасибо, что поправили меня в комментариях)
Поместите это в ваш ~/.bashrc:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\](\D{%H:%M:%S})\[\033[01;34m\]:$PWD\[\033[00m\]\$ '
Это окрасит строку и также добавит время в каждую строку (время иногда может быть полезным)
Простое решение
Откройте ~/.bash_profile
и добавьте следующий контент
# \[\e[0m\] сбрасывает цвет до цвета по умолчанию
reset_color="\[\e[0m\]"
# \[\033[33m\] устанавливает цвет в желтый
path_color="\[\033[33m\]"
# \e[0;32m\ устанавливает цвет в зеленый
git_clean_color="\[\e[0;32m\]"
# \e[0;31m\ устанавливает цвет в красный
git_dirty_color="\[\e[0;31m\]"
# определяет, чиста ли ветка git, на которой вы находитесь, или грязная
git_prompt ()
{
# Это папка git?
if ! git rev-parse --git-dir > /dev/null 2>&1; then
return 0
fi
# Получаем рабочее имя ветки
git_branch=$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')
# Чистая или грязная ветка
if git diff --quiet 2>/dev/null >&2; then
git_color="${git_clean_color}"
else
git_color="${git_dirty_color}"
fi
echo " [$git_color$git_branch${reset_color}]"
}
export PS1="${path_color}\w\[\e[0m\]$(git_prompt)\n"
Это должно:
1) Подсказать путь, в котором вы находитесь, с цветом: path_color.
2) Сообщить вам, на какой ветке вы находитесь.
3) Цветировать имя ветки в зависимости от статуса ветки с git_clean_color
для чистой рабочей директории и git_dirty_color для грязной.
4) Скобки должны остаться в цвете по умолчанию, который вы установили на своем компьютере.
5) Поместить приглашение на следующую строку для удобства чтения.
Вы можете настроить цвета с помощью этого списка
Сложное решение
Другой вариант – использовать Git Bash Prompt, установить с помощью этого. Я использовал опцию через Homebrew на Mac OS X.
git_prompt_list_themes
, чтобы увидеть темы, но мне никакая из них не понравилась.
git_prompt_color_samples
, чтобы увидеть доступные цвета.
git_prompt_make_custom_theme [<Название базовой темы>]
, чтобы создать новую пользовательскую тему, это должно создать файл .git-prompt-colors.sh.
subl ~/.git-prompt-colors.sh
, чтобы открыть git-prompt-colors.sh и настроить:
Файл .git-prompt-colors.sh должен выглядеть так с моей настройкой
override_git_prompt_colors() {
GIT_PROMPT_THEME_NAME="Custom"
# Чистая или грязная ветка
if git diff --quiet 2>/dev/null >&2; then
GIT_PROMPT_BRANCH="${Green}"
else
GIT_PROMPT_BRANCH="${Red}"
fi
}
reload_git_prompt_colors "Custom"
Этот ответ основан на моем ответе на SO, который вы можете увидеть здесь. Надеюсь, это поможет, хорошего дня!
Ответ или решение
Изменение подсказки (prompt
) в терминале Bash для отображения текущей рабочей директории – простая и полезная задача, которую можно выполнить в несколько шагов. Я объясню, как это сделать, и предложу различные способы настройки, чтобы удовлетворить ваши предпочтения.
Шаги для изменения подсказки Bash
-
Откройте файл конфигурации Bash: В зависимости от вашей операционной системы, вам может понадобиться редактировать один из следующих файлов:
~/.bashrc
на большинстве дистрибутивов Linux;~/.bash_profile
или~/.profile
на MacOS.
-
Используйте переменную PS1: Эта переменная определяет, как будет выглядеть ваша командная строка. Чтобы отобразить текущую рабочую директорию, добавьте следующую строку в соответствующий файл:
PS1='\w\$ '
Здесь:
\w
– это код для отображения полного пути текущей рабочей директории;\$
– это символ, который указывает, что это обычный пользователь (для администратора будет отображаться#
).
-
Примените изменения: Чтобы изменения вступили в силу, выполните команду:
source ~/.bashrc
или
source ~/.bash_profile
в зависимости от того, какой файл вы редактировали.
Дополнительные предложения по настройке
Если стандартное отображение текущей директории вас не устраивает, есть множество способов персонализировать вашу командную строку:
-
Добавление цвета: Вы можете добавить цвет к вашей подсказке, используя escape последовательности ANSI. Например, чтобы сделать текст зеленым, используйте:
PS1='\[\033[32m\]\w\[\033[0m\]\$ '
-
Включение других данных: Если вы хотите добавлять дополнительную информацию, например имя пользователя или название компьютера, вы можете сделать это следующим образом:
PS1='\u@\h:\w\$ '
Здесь:
\u
– имя пользователя;\h
– имя хоста (компьютера).
-
Комбинированные команды при использовании Git: Если вы работаете с Git, вы можете сделать вашу командную строку более информативной, добавляя имя текущей ветки:
function git_prompt { if [ -d .git ]; then git_branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null) echo " [$git_branch]" fi } PS1='\u@\h:\w$(git_prompt)\$ '
Заключение
Изменение подсказки в вашем Bash-терминале – это мощный способ адаптировать вашу среду разработки под свои нужды. Используя приведенные выше команды и примеры, вы сможете создать удобный и информативный интерфейс для работы с командной строкой.
Рекомендации по SEO
Чтобы ваше содержимое стало доступным для поиска, используйте ключевые слова, связанные с Bash, такими как "изменение подсказки Bash", "настройка терминала", "настройка окружения разработчика" и "Bash prompt". Это поможет пользователям быстро находить вашу информацию в поисковых системах, что, в свою очередь, повысит ее видимость и полезность.