Agnoster 테마: 착색된 시간

Agnoster 테마: 착색된 시간

나는 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() {
    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

}

결과는 다음과 같습니다.

여기에 이미지 설명을 입력하세요.

관련 정보