각 내장 명령에 대한 맨페이지를 다운로드할 수 있는 곳이 있습니까?
help
또는 및 검색을 사용하여 이에 대한 정보를 찾을 수 있다는 것을 알고 있지만 맨페이지를 읽을 수 man bash
있도록 분리하고 싶습니다 .man read
답변1
help read
help read | less
zsh에서:
run-help read
또는 입력 read something
하고 누릅니다 M-h
(예: Alt+h
또는 ESC h
).
man
해당 명령이 내장되어 있는지 알 필요가 없도록 단일 명령을 원하는 경우 다음에서 이 함수를 정의하세요 ~/.bashrc
.
man () {
case "$(type -t "$1"):$1" in
builtin:*) help "$1" | "${PAGER:-less}";; # built-in
*[[?*]*) help "$1" | "${PAGER:-less}";; # pattern
*) command -p man "$@";; # something else, presumed to be an external command
# or options for the man command or a section number
esac
}
답변2
이 시도:
bashman () { man bash | less -p "^ $1 "; }
n첫 번째 단어로 명령 이름이 있는 단락이 아닌 실제 명령을 얻으려면 몇 번의 클릭이 필요할 수 있습니다 .
설명하다:이것은 man bash
bash의 전체 출력, 즉 bash의 전체 매뉴얼 페이지(거대한 문서이고 각 bash 내장 명령을 설명하는 하위 섹션이 있음)를 읽기 프로그램으로 전송합니다 less
. less' -p
플래그는 "패턴"을 의미합니다. 이 플래그가 수행하는 작업은 패턴과 일치하는 입력 텍스트의 첫 번째 지점으로 자동으로 스크롤되는 것입니다. 여기의 패턴은 "줄의 시작( ^
), 특정 개수의 공백, 그 다음..."과 일치하는 정규식입니다. 여기서 bash는 bashman
함수에 제공된 첫 번째 인수를 삽입합니다. $1
토큰("첫 번째 인수"를 의미)은 큰따옴표로 구분된 문자열에 있습니다(작은따옴표는 bash에 문자 그대로의 문자를 의미함을 알려줍니다 $1
). 따라서 를 실행하면 bashman cd
bash 매뉴얼 페이지에서 공백으로 시작하고 그 뒤에 "cd"라는 문자열이 오는 줄을 효과적으로 검색할 수 있습니다. 왜냐하면 Bash의 전체 매뉴얼 페이지에는 이 패턴에 맞는 다른 지점이 있을 수 있기 때문입니다.와는 별개로"cd"와 같은 섹션의 실제 제목을 설명하십시오. 이 기능은 실제로 bash 매뉴얼 페이지의 올바른 섹션으로 이동하지 못할 수도 있습니다.