Я недавно добавил эти строки к своему ~/.bashrc файл для показа текущего ответвления, если я нахожусь в мерзавце рабочая папка, и это работает приятно на это. Однако то, что я потерял, - то, что имя текущей папки раньше показывалось на вкладке для терминала, который я имею открытый, и теперь это не: это всегда просто говорит 'Терминал'. Я могу вернуть это и все еще сохранить материал мерзавца? Вот рассматриваемые строки - это - второе, это - проблема, поскольку комментирующий просто вторую строку решает проблему.
source /etc/bash_completion.d/git
PS1='\h:\w$(__git_ps1 "\[\e[32m\][%s]\[\e[0m\]")$ '
Я смотрел на объяснения опций для PS1, но ничего не вижу о заголовке окна терминала там. Кто-либо может советовать? спасибо, макс.
Править
Я на самом деле уже управляю PS1, чтобы иметь терминал с форматом
<rvm version and gemset> <computer name> <current folder> <git branch>
, с каждой частью в различном цвете, но я на самом деле никогда не видел документы прежде, так спасибо за ссылку на это. Моя текущая установка PS1
\[\033[0;31m\]$(__my_rvm_ruby_version)\[\033[0;33m\]\h\[\033[0;37m\]:\[\033[1;33m\]\W\[\033[1;32m\]$(__git_branch)\[\033[1;32m\]$(__git_dirty) \[\033[0;37m\]$
По-видимому, я могу сделать что-то как
export "<something> $PS1"
определять мое терминальное имя вкладки, не теряя мои существующие настройки. Я вводил по абсолютному адресу вокруг с этим, хотя и не сумели сделать это.
РЕДАКТИРОВАНИЕ - поняло, что это с помощью некоторых ответов ниже - благодарит все! Я обернул его в сценарии оболочки
#!/usr/bin/env bash
#renames the current terminal tab via the PS1 env var
source ~/.bashrc
export PS1="$PS1""\[\e]0;$1 \a\]"
это называют "renametab", таким образом, я могу теперь назвать его с, например,
source renametab mytabname
"источник" необходим для экспорта изменений в текущую оболочку: если я просто делаю renametab mytabname
экспорт просто входит в подоболочку, которая уничтожается, когда сценарий заканчивается.
Еще раз спасибо все, для справки!
Это то, что у меня по умолчанию в моем Ubuntu в отношении названия терминала:
PS1='\[\e]0;\u@\h: \w\a\]'
Добавьте этот терминал в PS1, и все будет хорошо
{ {1}}Вы можете попробовать:
PS1="$PS1"'\h:\w$(__git_ps1 "\[\e[32m\][%s]\[\e[0m\]")$ '
Но было бы полезно узнать, какой PS1 установлен ранее в ~ / .bashrc
или в /etc/bash.bashrc
.
Другой способ сделать это - использовать PROMPT_COMMAND и пусть PS1 будет просто подсказкой. Например:
PROMPT_COMMAND = 'echo -ne (скрытый) echo -ne "\ 007"'
Я использую это:
PROMPT_COMMAND='echo -ne "\033]0;${PWD/$HOME/~} - ${USER}@${HOSTNAME}\007"'
, в результате получается такой заголовок окна:
/home/tkirk - tkirk@hostname