Re: Exit status of zero-length executable?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20/11/2018 21:56, Dan Kegel wrote:
I was surprised to discover that:

touch foo
chmod +x foo
./foo
echo $?

outputs
0

on the linux, mac, and bsd systems I've tried; on Linux I tried both
bash and dash.

Is this expected?  I did a quick scan of the standard but didn't see
anything related.

It's not specified directly, but if the shell attempts to execute a file that execl() rejects with ENOEXEC, and the file is a text file that does not start with #!, the standard requires it to be interpreted as a shell script. An empty file is a valid text file, so must be treated as an empty shell script.

Thanks,
Dan




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux