터미널의 "명령을 찾을 수 없음" 프롬프트를 어떻게 사용자 정의할 수 있나요?

터미널의 "명령을 찾을 수 없음" 프롬프트를 어떻게 사용자 정의할 수 있나요?

터미널에 대한 사용자 정의 "명령을 찾을 수 없음" 프롬프트를 만들고 싶습니다.이것. 템플릿을 설정했습니다.

   __________________________________________________
  /터미널을 사용하려고 하시는군요...\
 |명령을 찾을 수 없습니다: |
 |
 |xxx|
 |
  ______ ____________________________________/
        V
       ╭─╮
       ⌾ ⌾
       │▕│
       ╰─╯

"xxx"가 잘못된 명령으로 바뀌기를 원합니다. 어떻게 해야 하나요?

답변1

bash가 명령 이름을 찾을 수 없으면 이 기능을 실행합니다.command_not_found_handle원래 명령과 해당 매개변수를 인수로 사용합니다. 그러니 당신 자신을 정의하십시오. ~/.bashrcstdout이 아닌 stderr로 인쇄하고 동일한 종료 상태를 반환해야 합니다. 그렇지 않으면 해당 bash 인스턴스 내에서 실행되는 쉘 스크립트 조각이 중단될 수 있습니다 .

command_not_found_handle () {
  local cmd
  printf -v cmd "%-40s" "${1:0:40}"
  cat >&2 <<EOF
   ___________________________________________
  / I see you're trying to use the terminal … \
 | Command not found:                        |
 |                                           |
 |  $cmd |
 |                                           |
  _____ ____________________________________/
        v
       ╭─╮
       ⌾ ⌾
       │▕│
       ╰─╯

EOF
  return 127
}

관련 정보