Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

whence output varies with dot vs. realpath in $PATH



Trying to get whence to be both case insensitive and accepting of patterns I noticed something interesting.  The first item in my $PATH is the dot, I take this as not unusual because one might want to execute some command found in the current directory.  Anyway:

0 /aWorking/Zsh/Source/Wk 1 $ whence -mavS "(#i)*rap"

RAP is an alias for echo howdy
_trap is an autoload shell function
rap is a shell function from rap
trap is a shell builtin
bwrap is /usr/bin/bwrap
select-default-iwrap is /usr/bin/select-default-iwrap

... I have a whole load of various absurdly named test files in the current directory but whence doesn't find them.  However if I modify my PATH to make the dot expand to the ( do we say 'canonical' ? ) ... the actual name of the current directory:

0 /aWorking/Zsh/Source/Wk 1 $ vared PATH
/aWorking/Zsh/Source/Wk:/aWorking/Zsh/System:/aWorking/Bin:/usr/local/bin:/usr/sbin:/usr/bin:

... everything is found:

0 /aWorking/Zsh/Source/Wk 1 $ whence -mavS "(#i)*rap"

RAP is an alias for echo howdy
_trap is an autoload shell function
rap is a shell function from rap
trap is a shell builtin
RAP is /aWorking/Zsh/Source/Wk/RAP
RAP is RAP
RAp is /aWorking/Zsh/Source/Wk/RAp
RAp is RAp
RaP is /aWorking/Zsh/Source/Wk/RaP -> /aWorking/Zsh/Source/Wk/RAP
RaP is RaP
bwrap is /usr/bin/bwrap
rAp is /aWorking/Zsh/Source/Wk/rAp
rAp is rAp
select-default-iwrap is /usr/bin/select-default-iwrap

... all my silly files show up, infact they show up twice.  The eg: "RAP is RAP" doesn't seem to say very much when we already have: "RAP is /aWorking/Zsh/Source/Wk/RAP"

We can even get three restatements:


    2 /aWorking/Zsh/Source/Wk 0 $ /bin

    2 /bin 0 $ whence -mavS "zsh"

    zsh is ./zsh
    zsh is /usr/bin/zsh
    zsh is zsh

... again the last line doesn't seem very useful.  The first is of course true and the second line seems to highlight the fact that in Debian '/bin' is a link to '/usr/bin'.

Thoughts? Can I have the full output while leaving the dot in my path?



Messages sorted by: Reverse Date, Date, Thread, Author