2010-03-30 134 views
0

夥計們,我使用git工具,比如git bisect run,它需要調用一個命令來構建和測試我的項目。我的命令是,這是一個Windows程序。或者調用nant的build.cmd腳本。運行窗口命令從bash輸出到標準輸出?

很容易讓bash調用nant構建來運行。

但最難的部分是如何讓標準輸出寫入文件?

我甚至安裝了Windows PowerShell以嘗試從bash運行命令。

此外,它的工作原理,但標準輸出填充說:「權限被拒絕」 我試圖在構建進行時閱讀它。

更新:

運行nant時,將使用整個路徑。它安裝並運行良好。問題是如何從bash運行時獲得標準輸出。

如果在窗口提示符下用行結尾處的「> build.out」運行nant,您將獲得標準輸出。但是同樣的東西在bash下不起作用。它只是說build.out被鎖定,權限被拒絕。

更新:

利用發球的建議之下也沒有解決問題。在這種情況下,文件仍會在構建運行時報告「訪問被拒絕」並嘗試讀取它。而且,T恤程序從不會向標準輸出寫入任何內容。

+0

erm ... bash是一個unix(esc)shell ...除非你在窗口中安裝'nant',你可以運行它的命令。您還需要註冊nant,以便您可以從任何地方調用它,或者移至它所在的目錄,然後調用該命令。 – thecoshman 2010-03-30 10:13:03

+0

謝謝,我做了一個更新來回答你的問題。 Nant已安裝,我們使用nant的完全限定路徑。該問題與如何將標準輸出轉換爲文件並在文件尾部加上-f相關。 – Wayne 2010-03-30 13:42:11

回答

0

好的,終於解決了這個問題。事實證明,nant構建腳本正在使用git功能擦除所有被忽略的文件進行清理。這是刪除build.out文件可以導致這些奇怪的問題。現在,該進程將build.out文件寫入父目錄,以便它不會被刪除,現在一切都能按預期順利進行。

1

(如果我理解正確你的問題...)

你也許可以用「三通」命令的輸出拆分到兩個文件和stdout。行echo I am building something | tee build.out將在控制檯上打印輸出並將其保存到名爲「build.out」的文件中。

tee命令通常在Cygwin中可用,而且顯然在msysgit安裝的Bash shell中(我剛剛測試過它)。這是good reference page瞭解更多詳情。

+0

感謝您的回覆。如上所述使用T恤有相同的問題和額外的問題。那就是如果你試圖用任何編輯器或者尾巴,更少,頭部,貓等來打開它,文件仍然會給出「訪問被拒絕」的錯誤。另外,奇怪的是,T恤程序並沒有向stdandard寫入任何東西。它保持沉默。但是文件的大小正在增長。只是簡單地仍然不可能「監視」發生了什麼。 – Wayne 2011-02-06 08:10:58