"어디에서"와 "어느"의 차이점은 무엇인가요? [복사]

"어디에서"와 "어느"의 차이점은 무엇인가요? [복사]

나는 읽었다'어느', 하지만 모두그러나 나는 그 차이를 정말로 이해할 수 없습니다. 저는 64비트 debian-buster에서 zsh 5.4.2를 실행하고 있습니다. which 와 whence 는 모두 쉘 내장 함수입니다.

사람들은 어디에서 어느 쪽이 더 적절한지 또는 그 반대인지 지적할 수 있습니까?

/home/shirish> zsh --version
zsh 5.4.2 (x86_64-debian-linux-gnu)

/home/shirish> type -a which
which is a shell builtin
which is /usr/bin/which
which is /bin/which

/home/shirish> type -a whence
whence is a shell builtin

답변1

whichcsh 명령( csh귀하의 명령을 읽는 스크립트 ~/.cshrc), s에 대한 whenceKorn 쉘 csh의 응답 which, typeBourne 쉘 명령, command -v/VPOSIX 명령...

zshksh일부 확장을 구현했지만 csh 중독자 및 POSIX 준수를 위한 별칭 whence도 제공했습니다 . 이는 동일한 명령이지만 기본 동작이 다릅니다.whichtypecommand -v/V

  • which)를 whence -c위한 것 c입니다csh
  • typewhence -v(자세한 내용은 whence)
  • wherewhence -ca
  • POSIX는 command -v다음과 같다whence
  • POSIX는 command -V다음과 같다whence -v

자세한 내용은 다음에서 확인할 수 있습니다(약간 혼란스럽기는 하지만 죄송합니다)." which "를 사용하지 않는 이유는 무엇입니까? 그러면 무엇을 사용해야 합니까?

답변2

[-vcfpam] 이름은 어디서 나온 걸까요... 각 이름에 대해 명령 이름으로 사용될 경우 어떻게 해석되는지 표시하십시오. 이 -v플래그는 더 자세한 보고서를 생성합니다. 이 -c플래그는 csh와 유사한 형식으로 결과를 인쇄하며 -v. 이 -f플래그를 사용하면 쉘 함수의 내용이 표시되지만 -c이 플래그를 사용하지 않으면 발생하지 않습니다. 이 -p플래그는 별명, 예약어, 쉘 함수 또는 내장 함수인 경우에도 이름에 대한 경로 검색을 수행합니다. 이 -a플래그는 전체 명령 경로에서 해당 이름이 모두 검색됩니다. 이 -m플래그를 사용하면 인수가 패턴으로 처리되고(따옴표로 묶어야 함) 이러한 패턴 중 하나와 일치하는 각 명령에 대한 정보가 표시됩니다.

여기서 [-pam] 이름... -c와 동일합니다.

당신은 확인해야zsh 매뉴얼

관련 정보