Я недавно добавил эти строки в свой файл ~ / .bashrc, чтобы показать текущую ветку, если я нахожусь в рабочей папке git, и она прекрасно работает для этого. Однако, что я потерял, так это то, что имя текущей папки раньше отображалось на вкладке для терминала, который у меня открыт, а теперь это не так: он всегда просто говорит «Терминал». Могу ли я получить это обратно и все еще сохранить вещи? Вот строки, о которых идет речь, - это вторая проблема, поскольку закомментирование только второй строки решает проблему.
source /etc/bash_completion.d/git
PS1='\h:\w$(__git_ps1 "\[\e[32m\][%s]\[\e[0m\]")$ '
Я искал объяснения опций для PS1, но там не вижу ничего о заголовке окна терминала. Кто-нибудь может посоветовать? спасибо, макс
EDIT
Я на самом деле уже манипулирую 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
, экспорт просто переходит в подоболочку, которая завершается при завершении сценария.
Еще раз спасибо всем, за помощь!