KBEC-00198 - Running an ec-perl script from Cygwin

To run an ec-perl standalone script from cygwin, these lines have to be added to your script 

#!/bin/sh

exec "c:/Program Files/Electric Cloud/ElectricCommander/bin/ec-perl" -x "`cygpath -m "$0"`" "${@}"

#!perl

 #Rest of script…

Key Legend:

* The ‘exec’ shell command says, “Replace this sh process with the execution of the following command, rather than spawning it as a child.” This keeps the shell from running the rest of the script in its context after ec-perl completes.

* -x says that when Perl runs, it should ignore everything before the #!perl line.

* ElectricFlow's perl is a win32 perl, so it won’t take unix-y paths for the script to run. Thus, we use “cygpath –m” to convert to Windows-style, ‘/’ delimited (e.g. –m means “mixed” format).

* $0 is the name of the script, as run on the shell (e.g. /tmp/ec.pl, ./ec.pl, ec.pl (for path lookup)).

* “${@}” means all of the args from the command-line should be passed from this shell script (remember, this is an sh script to start with) to the program we’re ‘exec’ing.

 

Have more questions? Submit a request

Comments

Powered by Zendesk