我有許多腳本,我在Windows
到cygwin
之間運行。從Java運行腳本
無論何時使用新的沙盒,這些腳本文件都需要手動編輯。
因此,我正在考慮編寫一個基於用戶UI設置自動編輯腳本的UI應用程序Java
。
我讀過幾篇關於從Java
運行腳本文件的帖子,但沒有看到有關如何在Windows
到cygwin
之間運行它們的任何信息。
有沒有其他人做過這件事或知道以前的帖子,他們可以引薦我?
我有許多腳本,我在Windows
到cygwin
之間運行。從Java運行腳本
無論何時使用新的沙盒,這些腳本文件都需要手動編輯。
因此,我正在考慮編寫一個基於用戶UI設置自動編輯腳本的UI應用程序Java
。
我讀過幾篇關於從Java
運行腳本文件的帖子,但沒有看到有關如何在Windows
到cygwin
之間運行它們的任何信息。
有沒有其他人做過這件事或知道以前的帖子,他們可以引薦我?
如果cygwin
位於您的路徑上,則可以像執行Java一樣的其他外部程序來執行它。
注:你必須從實際代碼的並行線程讀取流!這只是一個概念驗證通過Windows上的cygwin運行bash腳本!
Process process = Runtime.getRuntime().exec("bash -c ./script.sh");
InputStream inputStream = process.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
您建議「您可以像執行Java的任何其他外部程序一樣執行它」。 在Windows上運行Linux腳本時,我必須:1)將cygwin 2)從cygwin會話cd/cygdrive/d/....運行到腳本文件所在的位置3)運行腳本./script ... 我看不出所有這些如何像Windows上的其他命令一樣運行;例如: .exec(「./ script.sh」); 謝謝 格雷厄姆 – user25029 2012-03-23 21:44:51
如果您執行在Cygwin的發現Cygwin.bat
文件的安裝目錄,你會看到你會變成一個Cygwin的會話,然後你可以運行在一個cygwin會話你可以在所有命令。
如果您隨後將cygwin/bin
目錄添加到您的路徑中,則可以像Linux環境一樣直接執行命令。
在我的情況下,我在PATH系統變量C:\cygwin64\bin
的末尾添加了以下內容,我現在可以像普通會話一樣直接運行bash
和其他命令。
你想編輯一個文件,或者運行一個腳本嗎? – Maxpm 2012-03-23 13:22:18
我試圖運行腳本,但假設我可以根據用戶從用戶界面輸入的設置從Java內部編輯文件。 – user25029 2012-03-23 21:46:49