2015-09-28 71 views
0

我使用的是portable version of Git for Windows,但是當我使用git-bash.exe來運行單個命令時,它看起來不起作用。你能幫我找出問題在哪裏嗎?git-bash.exe:如何運行單個命令?

我有一個PowerShell腳本來調用下面的命令。但看起來不起作用。我不能讓新的cmd窗口暫停,看看錯誤日誌:

cmd /c "d:\git\git-bash.exe dos2unix d:\test\my-script.sh" 

但如果雙擊並運行bash-exe.sh,然後在git-bash.exe窗型

dos2unix d:\test\my-script.sh 

然後它工作。

+0

我不知道git-bash.exe是如何工作的,但是嘗試添加一個-c:'cmd/c「d:\ git \ git -bash.exe -c dos2unix d:\ test \ my-script。 sh「' – mah

+0

*確切地*做它」不工作「?你期望什麼樣的行爲,這與你實際得到的行爲有什麼不同? –

+0

你可以嘗試從命令提示符運行相同的命令嗎?然後你可以看到任何可能導致的錯誤... –

回答

0

有幾種不同的方法可以從PowerShell中調用EXE。我發現的最好的方法之一是可以讓您控制最多的是Start-Process cmdlet。而不是調用的cmd.exe的窗口試試這個:

Start-Process -FilePath 'd:\git\git-bash.exe' -ArgumentList 'dos2unix d:\test\my-script.sh' 

更好的轉換是shell腳本到本地PowerShell的! :)

+0

已經嘗試過。沒有不同:( –

0

無論如何,我有一個解決方法。在便攜式git中的\ usr \ bin下,有一個名爲dos2unix.exe的exe文件,這樣我就可以從我的powershell腳本直接調用dos2unix.exe,而不是從git-bash.exe中調用dos2unix命令。

cmd /c "d:\git\usr\bin\dos2unix.exe d:\test\my-script.sh" 

有了這個步驟,問題就解決了。但我仍然不知道爲什麼powershell調用dos2unix來解析我的文件不起作用(我的意思是在調用該命令之後該文件未被轉換)。