bash 프롬프트가 혼란스럽다

bash 프롬프트가 혼란스럽다

오늘 저는 몇 가지 애플리케이션(Postgres 클라이언트 및 기타 항목)을 설치해야 하고 환경 경로와 같은 몇 가지 항목을 설정해야 했습니다.

몇 가지 별칭이 작동했지만 작동이 중단되었습니다. 설정이 ~/.bash_profile완료되어 실행 중이었는데 source ~/.bash_profilebash 프롬프트가 다음과 같이 엉망이 되었습니다.

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

bash_profile 이를 생성하는 명령은 다음과 같습니다.

export PS1="\[${BOLD}${MAGENTA}\]\u \[$WHITE\]in \[$GREEN\]\w\[$WHITE\]\$([[ -n \$(git branch 2> /dev/null) ]] && echo \" on \")\[$PURPLE\]\$(parse_git_branch)\[$WHITE\]\n$symbol\[$RESET\]"

보시다시피, \[s 및 \]s는 전혀 표시되지 않아야 할 때 나타나고, \u\n\w적절한 문자열로 대체되지 않습니다. 그러나 색상 변경은 여전히 ​​​​작동합니다.

여기서 무슨 일이 일어나고 있는지 조금 혼란 스럽습니다. 어떤 아이디어가 있습니까?

답변1

일부 전문가들은 환경 변수에서 ANSI 색상 코드를 난독화하고 이를 이스케이프 구문과 함께 사용자 정의 프롬프트에서 사용한 다음 묻지 않고 "당신을 위해" 프롬프트를 설정하는 것이 좋은 생각이라고 생각한 것 같습니다.

PS1 줄을 주석 처리하면 기본 프롬프트가 표시됩니다. 또는 원하는 대로 변경하되 사용자 정의 환경 변수에 의존하지 않는 것이 좋습니다.

관련된:

관련 정보