Я написал скрипт bash, чтобы поместить информацию о git в приглашение bash, а также сохранить pwd терминала в строке заголовка, чтобы открывать новые вкладки в текущем рабочем каталоге. Все это работает хорошо, за исключением того, что когда я создаю новую вкладку, информация об этом на исходной вкладке очищается, пока я не нажму на клавишу ВВОД, чтобы обновить ее.
Ниже мой entire .bash_profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
function git_prompt() {
local status=`git status 2>&1`
if ! [[ $status =~ "Not a git repository" ]]; then
# get the current branch
local branch=`git branch | ack -o '(?<=\* ).*'`
# set the color according to the status of the git repo
if [[ $status =~ "nothing to commit" ]]; then
local color=42
elif [[ $status =~ "nothing added to commit but untracked files present" ]]; then
local color=43
else
local color=45
fi
echo -ne "\033["$color"m"$branch"\033[49m "
fi
}
function my_prompt() {
## PWD IN TITLE FOR NEW TAB LOCATION DETECTION
update_terminal_cwd
## GIT BRANCH AND STATUS DISPLAY
git_prompt
}
## SETTINGS ############################################################
########################################################################
# custom bash prompt
PS1='\[\e[1;34m\]\W \$\[\e[0m\] '
# scripts that need to be run before display of bash prompt
PROMPT_COMMAND=my_prompt