Я использую слегка модифицированную версию Гэри Бернхардта (destroyallsoftware.com) .bashrc с homebrew bash 3.2.51.
# . ~/bin/bash_colors.sh
. ~/bin/colorize.sh
[... snipped ...]
# Git prompt components
function minutes_since_last_commit {
now=`date +%s`
last_commit=`git log --pretty=format:'%at' -1`
seconds_since_last_commit=$((now-last_commit))
minutes_since_last_commit=$((seconds_since_last_commit/60))
echo $minutes_since_last_commit
}
grb_git_prompt() {
local g="$(__gitdir)"
if [ -n "$g" ]; then
local MINUTES_SINCE_LAST_COMMIT=`minutes_since_last_commit`
if [ "$MINUTES_SINCE_LAST_COMMIT" -gt 30 ]; then
local COLOR=${txtred}
elif [ "$MINUTES_SINCE_LAST_COMMIT" -gt 10 ]; then
local COLOR=${txtylw}
else
local COLOR=${txtgrn}
fi
local SINCE_LAST_COMMIT="${COLOR}$(minutes_since_last_commit)${reset}"
# The __git_ps1 function inserts the current git branch where %s is
# *** richard -- added purple to branch name
local GIT_PROMPT=`__git_ps1 "[\033${txtgrn}%s\033${reset}|\033${SINCE_LAST_COMMIT}]"`
echo ${GIT_PROMPT}
fi
}
PS1="\[${txtblu}\u\[${txtmag}@\h\[${reset}:\[\W\]\[\$(grb_git_prompt)\$ "
[... snipped ...]
По какой-то причине моя подсказка делает это:
Пока я не сделаю:
$ bash
в этот момент он делает это:
Этот точно такой же .bashrc и связанные скрипты отлично работают на моем арочном блоке.
$ echo $PS1
\[\u\[@\h\[:\[\W\]\[$(grb_git_prompt)$
То же самое происходит в Terminal.app и iTerm2. Есть идеи?