Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-pair-Authenticated: 24.126.73.164 Message-ID: <40672AF0.7030506@kegel.com> Date: Sun, 28 Mar 2004 11:43:44 -0800 From: Dan Kegel User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 MIME-Version: 1.0 To: Cygwin List Subject: Re: Fun with #! (aka shebang) and filenames ending in .exe References: <62148 DOT 24 DOT 126 DOT 73 DOT 164 DOT 1080436603 DOT squirrel AT webmail4 DOT pair DOT com> <6 DOT 0 DOT 1 DOT 1 DOT 0 DOT 20040328135645 DOT 02865c58 AT 127 DOT 0 DOT 0 DOT 1> In-Reply-To: <6.0.1.1.0.20040328135645.02865c58@127.0.0.1> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit 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/