This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Re: #! magic for finding Cygwin Tcl shell
Gary Thomas wrote:
> Jonathan Larmour wrote:
>> John Dallaway wrote:
>>> I was looking at support for UNC file paths in the eCos Configuration
>>> Tool today. The convoluted #! magic we use in our Tcl scripts to find a
>>> Cygwin Tcl shell is getting in the way when calling (eg) heapgen.tcl via
>>> a UNC repository path. This code is only needed to support installations
>>> of Cygwin that are more than 5 years old.
>>>
>>> Rather than increase the complexity of the #! magic still further, I
>>> think it now makes sense to revert to a simple "#! /usr/bin/tclsh"
>>> within our Tcl scripts. However, this would break compatibility with old
>>> Cygwin installations providing only tclsh8*.exe or cygtclsh80.exe.
>>>
>>> Any objections?
>> Yes, it may not be in /usr/bin. I don't mind the cygwin-specific cygpath
>> bits being dropped, but I'd still want it to be found from the PATH by some
>> means.
>
> Does CygWin have '/usr/bin/env'? This is the "modern" way
> to handle this:
>
> #! /usr/bin/env tclsh
> ...
I'd forgotten about that because I'm a bit wary of it in general as you
can't pass arguments to it, e.g. this doesn't work as you'd expect:
#! /usr/bin/env echo "$@"
But that problem probably doesn't apply to most if not all our cases - the
arguments are passed as-is, so yes this should probably work.
Jifl
--
eCosCentric Limited http://www.eCosCentric.com/ The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.
------["Si fractum non sit, noli id reficere"]------ Opinions==mine