This is the mail archive of the cygwin@cygwin.com 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]

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


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.

cgf

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


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