zsh에서 캐럿은 어떤 역할을 합니까?

zsh에서 캐럿은 어떤 역할을 합니까?

^zsh에서 캐럿은 어떤 역할을 합니까? echo ^예를 들어 현재 디렉토리의 파일을 나열하려면 ls.그롬.

분명히 별칭이 아니며 which ^와 동일하게 인쇄됩니다 which $(ls). 또한 command -v ^아무것도 인쇄하지 않고 1을 반환합니다.

^현재 디렉터리의 파일을 포함하는 변수처럼 동작한다고 가정할 수 있습니까 ?

답변1

$ PS1='%% ' zsh -f
% print ^
^
% setopt EXTENDED_GLOB
% print ^
...
% 

따라서 glob이 EXTENDED_GLOB되도록 활성화 해야 합니다 . 그래서 더 깊이 파고든 후 우리는 발견했습니다.^zshexpn(1)

   ^x     (Requires EXTENDED_GLOB to be set.)  Matches anything except the
          pattern x.  This has a higher precedence than `/', so `^foo/bar'
          will  search  directories in `.' except `./foo' for a file named
          `bar'.

따라서 "x를 제외한 모든 것"은 공백 x가 있는 항목을 제외하지 않기 때문에 모든 것과 일치합니다.

관련 정보