bug or feature: `eval' vs `#!'

Bob McGowan rmcgowan@veritas.com
Mon Mar 12 10:34:00 GMT 2001


You might want to insert the #! line before the eval line, rather than replace it.  That way, the file will be executable but will also start in the same way as the
original.

Jerome BENOIT wrote:
> 
> Christopher Faylor wrote:
> >
> > On Sat, Mar 10, 2001 at 12:21:47AM +0100, Jerome BENOIT wrote:
> > >
> > >
> > >> >Hello:
> > >> >
> > >> >Under Win98 script files with as first line
> > >> >
> > >> >eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl
> > >> >-S $0 $ argv:q'
> > >> >
> > >> >contrary to script files with bang mechanism (`#! <executable>')
> > >> >are not identify as executable (and we cannot set them executable with
> > >> >`chmod'),
> > >> >and therefore the completion mechanism does NOT work for them.
> > >> >
> > >> >
> > >> >
> > >> >Is it a bug or a feature ?
> > >> >
> > >> >Byebye,
> > >> >Jerome BENOIT
> > >>
> > >> Shell scripts that don't start with !# are inherently non-portable.  See
> > >>
> > >> Why doesn't my script work?
> > >> http://www.cygwin.com/faq/faq_toc.html#TOC39
> > >>
> > >> in the FAQ.  Keep in mind, this is a great source of information for
> > >> issues/questions like these!
> > >
> > >The script works under Cygwin and its first line is said to be portable,
> > >hence my question.
> >
> > And what heuristic would you apply to identify that the script was executable.
> > We try to be accomodating in cygwin, so we look for things like '#!' and ':'
> > at the beginning of a file to verify that a script is executable but
> > trying to parse the above is not something that I think makes sense.
> >
> > You can, of course, use ntsec on Windows NT, if you want to have true
> > UNIX permissions.  That really is the best, and fastest way to get what
> > you want.
> >
> > If you don't have NT, or are on a FAT partition, then
> >
> > (drum roll, please)
> >
> > Patches are gratefully considered.
> 
> I just want to port such scripts to Cygwin:
> I will replace the bad first line by an appropriate `#!' line.
> 
> Ciao,
> Jerome BENOIT
> 
> >
> > cgf
> >
> > --
> > Want to unsubscribe from this list?
> > Check out: http://cygwin.com/ml/#unsubscribe-simple
> 
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple

-- 
Bob McGowan
Staff Software Quality Engineer
VERITAS Software
rmcgowan@veritas.com

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list