./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/