http://qs321.pair.com?node_id=11123995


in reply to file test results not as expected

You need to use the full path to the file for the file test. Change:
if (-f -x $file) {
to:
if (-f -x "$path/$file") {

This is how I do it: Finding commands in Unix PATH:

findcmd is a script which searches through the directories in the Unix PATH variable for executable files

Replies are listed 'Best First'.
Re^2: file test results not as expected
by navalned (Beadle) on Nov 22, 2020 at 00:00 UTC

    Thats cool and works well. You can try this for a 5 sec improvement at least on my system:

    grep { -x "$path/$_" && !-d _ }

    Saves a lot of stat() calls.

    Thanks for the answer. I think I knew the answer deep in the recesses of my brain but couldn't see it.
    Edgar