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を持つ項目を除外しないため、すべてに一致します。

関連情報