2017-01-10 98 views
1

我在Windows 7我如何管bash腳本輸出到一個文件在Windows

運行具有使用"C:\Program Files\Git\git-cmd.exe" "C:\path\myBashScript.sh" 17.1運行從Windows命令提示符處罰款bash腳本。我可以看到它在新的bash窗口中運行,輸出看起來很好,並關閉。我想要做的是將輸出捕獲到文件中以供進一步處理。

我試圖

"C:\Program Files\Git\git-cmd.exe" "C:\path\myBashScript.sh" 17.1 > C:\out\myBashScript.out.txt

但我在輸出中得到的是工作文件夾,即 C:\path>

這可能嗎?

由於

+0

可能是STDERR輸出?嘗試''C:\ Program Files \ Git \ git-cmd.exe「」C:\ path \ myBashScript.sh「17.1> C:\ out \ myBashScript.out.txt 2>&1' – Ben

+0

@Ben。這沒有什麼區別 – Badgerspot

回答

0

需要外殼腳本內所產生的輸出,和通過在命令行執行生成的那些之間進行區分。

要輕鬆捕獲shell腳本的輸出,您可能會發現在腳本中對捕獲文件進行重定向更容易。 (Cygwin,GfW; cmd.exe中的命令行或bash;集成的或分離的git命令(在cmd.exe中))您可能沒有說明系統的樣式和設置方式(Cygwin,GfW; cmd.exe中的命令行或bash;等)。我懷疑無法執行命令行的簡單重定向是因爲系統設置問題。

+0

我正在使用作爲GitForWindows的一部分安裝的git-cmd.exe。我從Windows Cmd Prompt運行它,雖然這是TeamCity的CommandLine runner的測試版,因爲這將構成構建過程的一部分。我在兩種環境中都得到了相同的結果,但我認爲這是因爲TeamCity使用主機的命令行環境。讀過之後,你有什麼建議嗎? – Badgerspot

+0

@Badgerspot我的建議是在引用的bash命令中移動重定向。例如(完全未嘗試;-)'「C:\ Program Files \ Git \ git-cmd.exe」「C:\ path \ myBashScript.sh 17.1> C:\ out \ myBashScript.out.txt」 –

0

「C:\ Program Files \ Git \ git-cmd.exe」是一個前端windows啓動程序。我很驚訝它根本沒有任何爭論。您應該運行使用bash解釋的bash腳本:

"C:\Program Files\Git\bin\bash.exe" "C:\path\myBashScript.sh" 

PS:我建議應用bash腳本里,而不是在Windows命令行重定向,他們是更好的控制那裏。

相關問題