This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fun with #! (aka shebang) and filenames ending in .exe


Larry Hall wrote:
./foo.sh
mv foo.sh foo.exe
./foo.exe

The first foo.sh works fine.  The second... well, it's entertaining.
I have to kill the window, ^C is ignored.

Well, ^C worked for me, though the terminal then would not respond to any other input. Maybe that's what you meant by "it's entertaining".

I wouldn't expect the same results everywhere, but when I try it, the scroll bar goes away, and the screen is filled with falling snow.

Now, I know one shouldn't do nasty tricks like that, but
I ran into it very innocently.  I was trying to make a distcc
masquerade directory on cygwin; my technique has been to
create shell scripts with the same name as the real app
that set a few variables and run a different app with the
original commandline as arguments.  On cygwin, the original
app was named something.exe, so using my usual technique, I
created a shell script named something.exe, and kerblooie!

Yes, this is a known issue. It's the same old problem one would expect
to have on a system that relies on the filename to determine what it should do with the file. You'd see something similar with a .bat/.exe file combination in Windows, unless I'm misinterpreting what you're saying..

Yes, except that since the exec is being done by Cygwin, you'd expect it to maybe pay attention to the #! line before trusting the .exe suffix. But since #! isn't a Posix requirement, Cygwin is well within its rights to ignore it in this case. (cf. http://www.in-ulm.de/~mascheck/various/shebang/ )

Anyway, my scripts now strip off .exe where appropriate
(i.e. when naming wrapper scripts) and  add the missing
.exe where appropriate (i.e. when trying to remove files),
and that works fine.

- Dan

--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]