저는 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 매뉴얼 섹션을 참조하세요.