我正在使用 agnoster 主题:[![在此处输入图像描述][1]][1]
我想知道如何用不同颜色的用户名来为时间着色。
目前,agnoster.theme.sh 文件中的prompt_context() 函数如下所示:
prompt_context() {
local user=`whoami`
if [[ $user == $DEFAULT_USER || $user != $DEFAULT_USER || -n $SSH_CLIENT ]]; then
# green is the color of background
# white is the color of foreground
prompt_segment green white "[\A] $user@\h "
fi
}
问题是我的用户名和时间的颜色是相同的。
我已经尝试过类似的事情:
prompt_segment green white " ${red green [\A]}$user@\h "
但这不起作用。我也看过这个:https://github.com/ohmybash/oh-my-bash/blob/master/themes/agnoster/agnoster.theme.sh#L156-L178 但我有点失落。
有人有想法吗?
答案1
我通过再试一次找到了解决方案。我必须按要显示的元素添加一个函数,因此我创建了一个函数来显示时间,另一个函数用我想要的颜色来显示历史行。
# Display history line
prompt_historyline(){
prompt_segment yellow white ' \! '
}
# Display time
prompt_time() {
prompt_segment orange white ' [\A] '
}
我的prompt_context函数:
prompt_context() {
local user=`whoami`
if [[ $user == $DEFAULT_USER || $user != $DEFAULT_USER || -n $SSH_CLIENT ]]; then
# green is the color of background
# white is the color of foreground
prompt_segment green white " $user@\h "
fi
}
然后我将两个新闻函数添加到主函数(主提示的构建器)中:
build_prompt() {
[[ ! -z ${AG_EMACS_DIR+x} ]] && prompt_emacsdir
prompt_status
prompt_historyline
prompt_time
#[[ -z ${AG_NO_HIST+x} ]] && prompt_histdt
[[ -z ${AG_NO_CONTEXT+x} ]] && prompt_context
prompt_virtualenv
prompt_dir
prompt_git
prompt_end
}
结果如下: