zsh에 정의 된 함수 목록을 가져 오는 방법 (예 : 별명에 대한 별명 명령)


19

입력 할 수 있습니다

alias

zsh에서 정의 된 별칭 목록을 얻습니다.

zsh에 정의 된 함수 이름 목록을 어떻게 얻을 수 있습니까?

"functions"를 입력하면 많은 함수를 표시 한 후 항상 종료되는 쉘 창이 정지합니다.

__rvm_checksum_none () {
    [[ -z "${_checksum_md5:-}" && -z "${_checksum_sha512:-}" ]]
}
__rvm_checksum_read () {

매우 성가신 것은 ctrl-c (항목 2 AND 터미널 사용)로 종료되지 않는다는 것입니다.

iterm2 : 여기에 이미지 설명을 입력하십시오

같은 문제가있는 터미널 그림 : 여기에 이미지 설명을 입력하십시오


일반적으로 리스팅 functions 내장으로 수행됩니다 . 문제가있는 함수 (?)를 먼저 정의하지 않으면 출력이 나타납니다 unfunction __rvm_checksum_read.
mpy

함수 목록 (전체 선언이 아님)을 가져 오려면 어떻게해야합니까? 해당 메소드가 작동하지 않으면 다른 __rvm_curl에도 문제가 있습니다.
justingordon

내 대답을 참조하십시오. 그러나 당신이 묘사하는 행동은 이상하게 들립니다 ... 그래서 관심이 없습니다 : 전체 목록이 다른 터미널 에뮬레이터와 작동합니까? 문제가있는 기능을 성공적으로 사용할 수 있습니까?
mpy

터미널은 항목 2와 동일한 문제가 있습니다. 아래의 답변은 굉장합니다. 왜 'functions'명령을 사용하여 터미널이 멈추는 지 알고 싶지만 (파이프가 적을 때도) 중요합니까? 이것이 문제를 일으키는 이유는 무엇입니까?
justingordon

이 기능에는 터미널을 엉망으로 만드는 이상한 문자 시퀀스가 ​​있다고 가정했습니다. 이 범위를 좁히려면 출력을 파일로 리디렉션 할 수 있습니다 functions > /tmp/foo. 그것이 zsh 문제라면 이것도 문제가 될 것입니다. 터미널 문제인 경우에는 안됩니다. 문제가 일상의 사용을 방해 할 수 있다면 미안합니다.
mpy

답변:


19

_functions완성 기능 을 보면서 부정 행위를하면서 질문에 답할 수 있습니다.

기능은 연관 배열에 저장되어 functions있으므로 단지 함수 이름 (얻을, k대한 플래그 (알파벳 순서)를 o위한 플래그 주문 사용할 수있는)

print -l ${(ok)functions}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.