How to Remove Duplicates in $PATH zsh
It is so easy to do that in zsh:
typeset -U path
That’s all.
As you can imagine -U stands for ‘unique’. From
doc:
-U For arrays (but not for associative arrays), keep only the
first occurrence of each duplicated value. This may also be
set for colon-separated special parameters like PATH or FIG‐
NORE, etc. This flag has a different meaning when used with
Btw. just care it is not -u. This flag just converts the content to uppercase.
All OK!
Appendix
You may wonder why is path instead of PATH? In zsh they are different but
related things. The $path array variable is tied to the $PATH scalar string
variable. The $path helps to find external programs, i.e. anything not part
of the shell, any command other than a builtin, function or alias. Any
modification on $path or $PATH is reflected in the other.
If you check them, you will see:
$ echo $path
/usr/local/bin /usr/bin /bin /sbin
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/sbin
For more details you can go to : A User’s Guide to the Z-Shell - Path
Subscribe
Read Related