2008-10-31 10 views
0

我試過這種變體,但除了啓動cygwin窗口的能力之外沒有其他運氣。 (包裝上;爲清楚起見)如何將命令傳遞到使用Inno設置的Windows中的Cygwin控制檯

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

(這是一個內部安裝,從而cywin安裝,並且所有的路徑,腳本都知道)

回答

1

我想你會需要使整個事件成爲cmd.exe調用的一部分,然後我不確定它會完全按照您的需要進行操作。

我正在查看Inno-Setup 5文檔(可能已過期),但我認爲您不需要shellexecwaituntilterminated標誌。

嘗試像

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

未經檢驗的,買者自負。

+0

我給那個樂於助人試試... – scunliffe 2008-10-31 20:21:10

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..." 

也許這將是爲別人:)

相關問題