top | item 39507169

(no title)

throwaway84846 | 2 years ago

I use 'path=( ${(u)^path:A}(N-/) )' instead of that for loop

discuss

order

mst|2 years ago

To just reduce the current entries to those that exist, I'd probably do

    PATH=$(perl -e 'print join ":", grep -d, split ":", $ENV{PATH}')
but that's because as a 20 year perl hacker and thus connoiseur of line noise, I'd rather read that than the shell clever.

(this doesn't mean the shell clever is bad, it just means I don't find -that- dialect of line noise as skimmable)

JNRowe|2 years ago

General point about comfort noted, but they don't do the same thing.

$^path(N) is an equivalent to your perl expression. The snippet throwaway84846 posted also removes duplicates and collapses symlinks from /usr-merge for example.