* On Sat, Apr 02, 2011 at 05:05:29PM -0700, Bart Schaefer wrote: >On Apr 3, 2:30am, Raghavendra D Prabhu wrote: >} >} Xye% "" >} zsh: permission denied: >} ============================ >} Is this a bug or some weird quirk ? > >Neither, exactly. > >You've asked the shell to execute the command named (empty string) found >anywhere in the directories named in $PATH. > >Bash searches the path and finds no executable file named (empty string) >so it gives up and prints "command not found". > >Zsh does the same search, but instead of giving up at the end it repeats >the attempt with actual execve() system calls, so as to find the "real" >error that the operating system would report if you were to have typed >out the full path to the command. That error is "permission denied" >because (any directory name)/(empty string) is the same as the directory >itself, and directories can't be executed as commands. > >Aside: As it happens, if you were to have typed out the full path in >bash, it first calls execve(), but when that fails with "permission >denied" bash goes one step further and stat()s the path to determine >if it is a directory, and if so prints "is a directory" instead of the >permission error. Cool. Thanks for the explanation. -------------------------- Raghavendra Prabhu GPG ID:D72BE977