Se você quiser remover o diretório atual do array $cdpath
, eu simplesmente usaria
cdpath=(${cdpath/(#s)$PWD(#e)})
(#s)
e (#e)
têm a mesma finalidade que as expressões regulares ^
e $
em "normal", ou seja, início e fim da sequência. Por favor, note : Estes precisarão de setopt EXTENDED_GLOB
para funcionar!
Se você precisar de um comando externo,
cdpath=(${cdpath/(#s)${$(some_command)}})
deve funcionar.
Caso de teste:
$ setopt EXTENDED_GLOB
$ cdpath=(/foo /foo/bar /bar)
$ pwd
/bar
$ cdpath=(${cdpath/(#s)${$(builtin pwd)}})
$ print -l $cdpath
/foo
/foo/bar