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


On Sun, 28 Mar 2004, Dan Kegel wrote:

> 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

'Ware of this issue:

<QUOTE from http://cygwin.com/cygwin-ug-net/using-specialnames.html#AEN846>
  If a shell script myprog and a program myprog.exe coexist in a
  directory, the program has precedence and is selected for execution of
  myprog.
</QUOTE>

HTH,
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton

--
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]