친구와 쉘에서 명령을 구문 분석하는 방법에 대해 논의하고 있었는데 bash가 다음 순서로 명령을 검색한다고 말했습니다.
- 별칭 목록
- 쉘 키워드 목록
- 사용자 정의 함수 목록
- 쉘 내장 함수 목록
- PATH 변수에 지정된 디렉터리 목록(왼쪽에서 오른쪽으로).
나는 명령을 실행하여 별칭을 찾을 수 있다는 것을 알고 있습니다 alias
. PATH 변수의 내용은 echo $PATH
명령을 사용하여 찾을 수 있습니다 .
어떤 명령을 사용해야 하는지 알려주실 수 있나요?
- 모든 쉘 키워드 나열
- 모든 사용자 정의 함수 나열
- 쉘 내장 함수 목록
답변1
compgen
다음 에서도 사용할 수 있습니다 bash
.
compgen -k
키워드 나열compgen -b
또는enable
내장 함수 나열compgen -A function
또는declare -F
목록 기능compgen -a
또는alias
별칭 나열compgen -c
명령 나열compgen -v
변수 나열compgen -e
또는export
내보낸 변수 나열
답변2
큰 타격을 받은 경우:
man bash | grep -10 RESERVED
예약어 나열:! Case coproc do done elif else esac fi for function if in select then Until while { } time [[ ]]
declare -F
typeset -F
내용을 표시하지 않고 함수 이름을 표시합니다 .enable
내장 쉘 나열주문하다(내 생각엔 이건 아닌 것 같아기능이런 식으로). 이것도 이렇다man builtins
답변3
zsh 사용:
PATH= type -m '*'
알려줄게 3.
Bash에서 키워드를 나열하려면 다음을 수행할 수 있습니다.
complete -A keyword :
그런 다음 입력: <Tab><Tab>
내장 함수의 경우 위와 keyword
같이 바꾸고 builtin
, 함수의 경우 추측해 보겠습니다.
답변4
배쉬에서
키워드(예약어):
compgen -A keyword # or: compgen -k
함수(실행 시 정의됨):
compgen -A function # Only names. declare -F # Only names but prefixed with `declare -f`.
명령문 -f # 함수 정의를 완료합니다.
내장 기능
compgen -A builtin # Only names. enable # Names prefixed with `enable ` man builtins # Only if the correct man package is installed.
compgen
별칭, 명령, 변수, 내보내기 등 의 다른 키워드도 있습니다 .
compgen
-A
가능한 옵션 목록은 다음을 통해 찾을 수 있습니다.마치다:
compgen -A # and press Tab (Maybe twice vary by configuration).