We have the Ici scripting language installed on Windows. Ici expects a
directory called "ici" to exist alongside, where various libraries are
installedd to provide extra functionality.
Unfortunately, under Cygwin, if w try to run the command "ici" we get
the error "ici: command not found", because Cygwin chooses to try to
execute the directory instead of the .exe:
$ /opt/bin/ici /cygdrive/x/bin/script/cfnhdr
bash: /opt/bin/ici: is a directory
$ ls -ld /opt/bin/ici
drwxr-xr-x 1 luke Domain Users 0 Oct 17 2005 /opt/bin/ici
$ ls -ld /opt/bin/ici.*
-rwxr-xr-x 1 luke Domain Users 233503 Apr 18 2000 /opt/bin/ici.dll
-rwxr-xr-x 1 luke Domain Users 24576 Jan 29 2003 /opt/bin/ici.exe
I tried naming the ici directory Ici but it made no difference.
The directory /opt/bin is mounted like so:
$ mount
\\samba\syncopt\microsoft.x86.win\bin on /opt/bin type system
(textmode,exec)
Using binmode doesn't help. Is this a bug, that bash tries to execute a
directory even when there's an executable (with an implicit .exe suffix,
naturally) of the same name in existence ? If not, can anyone suggest a
workaround? I can't just append a .exe to the #!/opt/bin/ici shell
wrapper since then the scripts wouldn't run from Unix.
Is there a bash option that controls this, maybe (I couldn't see one)?
Regards,
luke
--
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/