executable in path, findable by which, yet cannot execute without fully qualifying path?
        Posted  
        
            by 
                Peeter Joot
            
        on Server Fault
        
        See other posts from Server Fault
        
            or by Peeter Joot
        
        
        
        Published on 2012-04-11T23:50:28Z
        Indexed on 
            2012/04/12
            5:33 UTC
        
        
        Read the original article
        Hit count: 644
        
I've got a bizarre seeming shell issue, with a command in the $PATH that the shell (ksh, running on Linux) appears to cowardly refuse to invoke. Without fully qualifying the command, I get:
#  mycommand
/bin/ksh: mycommand: not found [No such file or directory]
but the file can be found by which:
#  which mycommand
/home/me/admbin/mycommand
I also explicitly see that directory in $PATH:
#  echo $PATH | tr : '\n' | grep adm
/home/me/admbin
The exe at that location seems normal:
#  file /home/me/admbin/mycommand
/home/me/admbin/mycommand: setuid setgid ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), not stripped
# ls -l mycommand  
-r-sr-s--- 1 me mygroup 97892 2012-04-11 18:01 mycommand
and if I run it explicitly using a fully qualified path:
#  /home/me/admbin/mycommand
I see the expected output. Something is definitely confusing the shell here, but I'm at a loss what it could be?
EDIT: finding what looked like a similar question: Binary won't execute when run with a path. Eg >./program won't work but >program works fine
I also tested for more than one such command in my $PATH, but find only one:
# for i in `echo $PATH | tr : '\n'` ; do test -e $i/mycommand && echo $i/mycommand ; done
/home/me/admbin/mycommand
© Server Fault or respective owner