명령이 별칭, 함수 또는 이진인지 테스트하는 방법?


답변:


23

Bash 또는 다른 Bourne과 같은 쉘을 사용하는 경우을 사용할 수 있습니다 type.

type command

command쉘 내장, 별명 (있는 경우 무엇에 대한 별칭), 함수 (및 함수 본문을 나열하는 경우) 또는 파일에 저장되어 있는지 (있는 경우 파일 경로) 여부를 알려줍니다. .

"이진"파일에 대한 자세한 내용은 다음을 수행하십시오.

file "$(type -P command)" 2>/dev/null

command별명, 함수 또는 쉘 내장 인 경우 아무것도 리턴하지 않지만 스크립트 또는 컴파일 된 바이너리 인 경우 추가 정보를 리턴합니다.

참고 문헌


3

대답은 사용중인 쉘에 따라 다릅니다.

zsh의 경우 쉘 내장 whence -w은 원하는 것을 정확하게 알려줍니다.

예 :

$ whence -w whence
whence : builtin
$ whence -w man     
man : command 

1

zsh을 당신은 확인하실 수 있습니다 aliases, functionscommands배열을.

(( ${+aliases[foo]} )) && print 'foo is an alias'
(( ${+functions[foo]} )) && print 'foo is a function'
(( ${+commands[foo]} )) && print 'foo is an external command'

builtins내장 명령에 대한 도 있습니다 .

(( ${+builtins[foo]} )) && print 'foo is a builtin command'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.