![Bash의 "도움말" 내장 소스는 어디에 있나요? [복사]](https://linux55.com/image/128645/Bash%EC%9D%98%20%22%EB%8F%84%EC%9B%80%EB%A7%90%22%20%EB%82%B4%EC%9E%A5%20%EC%86%8C%EC%8A%A4%EB%8A%94%20%EC%96%B4%EB%94%94%EC%97%90%20%EC%9E%88%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
MacOS에서 운영 체제의 기본 bash는 3.2입니다.
실행하면 help trap
signal_spec이 DEBUG이면 명령이 실행된 것입니다.뒤쪽에명령에 따라 실행되었지만 bash 맨페이지에는 실행되었다고 나와 있습니다.앞으로명령에 따라. 이 bash의 실제 동작은 맨페이지와 일치합니다(예:앞으로주문하다).
4.4.18(1)의 소스 코드를 다운로드하여 빌드했습니다. 맨페이지에는 모두 help trap
트랩이 실행되었음을 표시합니다.앞으로명령에 따라. 그러나 그럼에도 불구하고 각 문서의 텍스트는 약간 다릅니다.
따라서 help
내장된 읽기/파싱 매뉴얼 페이지에 대한 나의 순진한 가정은 분명히 잘못된 것입니다.
그렇다면 help
사용자에게 전달하는 정보는 어디서 얻나요?
답변1
아, 여러 수준의 소스 코드 생성 후에 실행 파일에 구워졌습니다.
builtins.c
따라서 에서 제공하는 다양한 내장 정의 파일에 문서가 있습니다 mkbuiltins
.
MacOS bash 맨페이지는 DEBUG signal_spec을 사용하여 트랩의 올바른 동작을 반영하도록 업데이트되었지만 정의 소스는 업데이트되지 않았고 실행 파일이 다시 빌드되었습니다.