![터미널의 "명령을 찾을 수 없음" 프롬프트를 어떻게 사용자 정의할 수 있나요?](https://linux55.com/image/66600/%ED%84%B0%EB%AF%B8%EB%84%90%EC%9D%98%20%22%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%9D%8C%22%20%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
터미널에 대한 사용자 정의 "명령을 찾을 수 없음" 프롬프트를 만들고 싶습니다.이것. 템플릿을 설정했습니다.
__________________________________________________ /터미널을 사용하려고 하시는군요...\ |명령을 찾을 수 없습니다: | | |xxx| | ______ ____________________________________/ V ╭─╮ ⌾ ⌾ │▕│ ╰─╯
"xxx"가 잘못된 명령으로 바뀌기를 원합니다. 어떻게 해야 하나요?
답변1
bash가 명령 이름을 찾을 수 없으면 이 기능을 실행합니다.command_not_found_handle
원래 명령과 해당 매개변수를 인수로 사용합니다. 그러니 당신 자신을 정의하십시오. ~/.bashrc
stdout이 아닌 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
}