0

我已经尝试过这种方法的变体,但除了能够启动 cygwin 窗口之外没有任何运气。(包裹在;为了清楚起见)

Filename: "c:\cygwin\bin\bash.exe";
  Parameters: "-c c:/scripts/step1.sh paramX";
  Flags: shellexec waituntilterminated;
  StatusMsg: "Running the script..."

(这是用于内部安装,因此安装了 cywin,并且所有路径、脚本都是已知的)

4

2 回答 2

5

您的问题是-c告诉 bash 从下一个参数读取指令:例如

c:\cygwin\bin\bash.exe -c 'for NUM in 1 2 3 4 5 6 7 8 9 10; do echo $NUM; done'

您只需要:

c:\cygwin\bin\bash.exe "/scripts/step1.sh paramX"

所以你的代码看起来像:

Filename: "c:\cygwin\bin\bash.exe";
  Parameters: "c:/scripts/step1.sh paramX";
  Flags: shellexec waituntilterminated;
  StatusMsg: "Running the script..."

也许这对其他人有帮助:)

于 2013-02-09T06:25:30.543 回答
1

我认为您将需要将整个事情作为cmd.exe调用的一部分,然后我不确定它是否会完全满足您的需求。

我正在查看 Inno-Setup 5 文档(可能已过时),但我认为您不需要shellexecorwaituntilterminated标志。

尝试类似的东西

Filename: "cmd.exe"; Parameters: "/c c:\cygwin\bin\bash -c 'c:/scripts/step1.sh paramx'"

未经测试,买者自负。

于 2008-10-31T17:55:27.043 回答