답변:
andhrimnir의 코드로 약 30 분 동안 놀고 추가 연구를 한 결과 마침내 원하는 것을 얻었습니다.
PS1="\w \`if [ \$? = 0 ]; then echo -e '\[\e[01;32m\]\n\xE2\x98\xBA'; else echo -e '\[\e[01;31m\]\n\xE2\x98\xB9'; fi\` \[\e[01;34m\]\[\e[00m\]"
여기에서 이모티콘 목록을 찾은 다음 개행 문자 다음에 표시되는 3 자리 바이트 코드 로 변환 할 수 있습니다.
를 얻기 위해 cwd
내가해야 할 일은 사용이었습니다 \w
. 또한 수행하여 현재 사용자를 보여줄 수 \u@\w
처럼되는 것 출력 뭔가를 joshsmith@~
.
위에 표시된 웃는 얼굴은 유니 코드 문자 인 것으로 보입니다 0x263a
. 따라서 유니 코드 가능 터미널이 필요합니다 (terminal.app가 이것을 지원하는지 확실하지 않지만, 그렇게 생각합니다).
다음은 리턴 코드가 0 인 녹색 웃는 얼굴을 인쇄하고 그렇지 않은 경우 빨간색 찌푸린 얼굴을 인쇄하는 샘플 코드입니다.
PS1="\[\e[01;32m\]\u@\h \[\e[01;34m\]\W \`if [ \$? = 0 ]; then echo -e '\[\e[01;32m\]:)'; else echo -e '\[\e[01;31m\]:('; fi\` \[\e[01;34m\]$\[\e[00m\]"
크레디트는 아치 포럼에서 Fingel에게갑니다 (그는 여기에 게시했습니다 ).
$PS1
내용에 대해 더 깊이 알고 싶다면 위에 게시 한 링크의 스레드에 많은 정보가 있습니다.
$
실제로 유니 코드 기호를 사용하여 전체를 표시하는 방법이 궁금합니다cwd
.