현재 나의 PS1은 다음과 같습니다. 출력은 $?
매우 유용합니다(두 번째 줄).
export PS1="\
${PSOn_Blue}${PSBWhite}\t\
${PSColor_Off} \$?\
${PSColor_Off}${PSBGreen} \u\
${PSColor_Off}${PSWhite}@\
${PSColor_Off}${hostcolor}\h\
${PSColor_Off}:\
${PSBGreen}\w\
${PSColor_Off}\$\
"
0이 아닌 출력에서 반환 코드($?)가 빨간색이면 더 좋을 것입니다.
이 목표를 어떻게 달성할 수 있나요?
답변1
나는 사용한다이것:
BOLD_FORMAT="${BOLD_FORMAT-$(color_enabled && tput bold)}"
ERROR_FORMAT="${ERROR_FORMAT-$(color_enabled && tput setaf 1)}"
RESET_FORMAT="${RESET_FORMAT-$(color_enabled && tput sgr0)}"
PS1='$(exit_code=$?; [ $exit_code -eq 0 ] || printf %s $BOLD_FORMAT $ERROR_FORMAT $exit_code $RESET_FORMAT " ")'
나머지 부분과 연결 $PS1
하되 여전히 작은 따옴표를 사용하는지 확인하십시오. 그렇지 않으면 작동하지 않으며 황금색이어야 합니다. 종료 코드가 0이더라도 표시하려면 해당 [ $exit_code -eq 0 ] ||
비트를 제거하면 됩니다.
답변2
\W
그러면 작업 디렉터리( )의 기본 이름이 녹색 또는 빨간색으로 표시됩니다.
PS1='\[\e[$([[ $? = 0 ]] && printf 32 || printf 31);1m\]\W\[\e[m\] '