Follow-up Comment #2, bug #65804 (group findutils):

It does appear that Bash performs tilde expansion on $PATH entries while
execvp (whicvh is what the env program uses) does not:


$ env -u ENV -u BASH_ENV PATH='/bin:~/bin' bash --norc -c 'type
rebuild-findutils.sh'
rebuild-findutils.sh is /home/james/bin/rebuild-findutils.sh
$ env -u ENV -u BASH_ENV PATH='/bin:~/bin' bash --norc -c 'env
rebuild-findutils.sh'
env: ‘rebuild-findutils.sh’: No such file or directory


It looks to me as if Bash invokes the binary for the child process by using
execve, meaning that it performs the path searching itself, "manually".

Other tools (though apparently not Bash) will treat $PATH in a way consistent
with "env" and so I think the warning from find is justified.  Which is a
long-winded way to say that I agree with Bernhard.

Though admittedly I'm biased; I added to findutils the code we're talking
about here.




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?65804>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/


Reply via email to