최종 성공 및 실패 조건부 이모티콘

최종 성공 및 실패 조건부 이모티콘

저는 Mac을 사용하고 있으며 입력한 모든 명령에 대해 이모티콘 X를 표시하고 명령이 실패할 때마다 이모티콘 Y를 표시하고 싶습니다.

답변1

Bash에는 프롬프트를 제어할 수 있는 몇 가지 변수가 있습니다.

  • PROMPT_COMMAND
  • PS1
  • PS2
  • PS3
  • PS4

이 특정 시나리오에서는 PROMPT_COMMAND(기본 프롬프트를 인쇄하기 전에 실행된 코드) 및 PS1(기본 프롬프트) 도움말만 있습니다.

이 변수를 사용 ?하면 마지막으로 실행된 명령의 종료 상태를 알 수 있습니다. 예를 들어:

command

if [[ "${?}" == '0' ]]; then
  echo 'OK'
else
  echo 'ERROR'
fi

따라서 다음과 같은 편리한 기능을 활용하면 됩니다.

# Using PROMPT_COMMAND
PROMPT_COMMAND='if [[ "${?}" == "0" ]]; then printf "[OK]"; else printf "[ERROR]"; fi'

# Using PS1
PS1='$(if [[ "${?}" == "0" ]]; then printf "[OK]"; else printf "[ERROR]"; fi)\$ '

두 가지 방법 모두 다음과 같이 인쇄됩니다(초기 프롬프트가 이라고 가정 $).

[OK]$ false
[ERROR]$ true
[OK]$ 

원하는 이모티콘으로 [OK]및 를 교체하세요 .[ERROR]

당신은 읽을 수있다제어 프롬프트이 주제에 대해 자세히 알아보려면 Bash 매뉴얼 섹션을 참조하세요.

관련 정보