Remove duplicates in zsh $PATH
How to do it?
typeset -aU path
There ya go. All entries in $PATH are now unique
How does it work? Well that's stickier. path and PATH are not the same thing. You can determine that by examining the type of each with t variable expansion.
> echo ${(t)path}
array-unique-special
> echo ${(t)PATH}
scalar-export-special
They are linked variables however, if you change one you change the other but
they have different properties. I have to admit at this point that
scalar-export-special is something of which I'm ignorant.
The typeset declaration is simpler, it changes the type of path from
array-special to array-unique-special. The -a flag is for array and the -U
flag is for unique.