2015-06-24 144 views
0

我一直在嘗試做一些腳本,但我似乎無法理解這一個我有錯誤。無法從Windows批處理文件運行shell腳本

bash: /test.sh: No such file or directory

基本上,我想運行一個腳本,使用test.shbash-c-l選項:

bash -l -c ~/opt/ct/src/test.sh 

但整條生產線是從Windows批處理文件調用(.CMD)位於與test.sh相同的目錄中。我正在使用64位Cygwin(但我也安裝了MinGW)。我確保文件路徑指向bash.exe(做了一個PATH),並且它是正確的,就像shebang一樣。我也對腳本做了dos2unix

任何想法爲什麼?僅供參考我寫的這一行在Cygwin中工作得很好。

+0

Windows文件系統中的'c:\ cygwin \ home \%username%\ opt \ ct \ src'中是否存在'test.sh'? – rojo

+0

是的,它確實存在。 – KaiserHaz

+0

錯誤消息很可能表示test.sh的錯誤位置,它在根目錄中搜索。也許嘗試Cygwin樣式路徑('/ cygdrive/c/....'),看看是否有幫助,假設bash也來自Cygwin? –

回答

0

我發現了這個問題。

我知道我很久以前在Windows Path變量中添加了MinGW的路徑。看來,當我做bash時,它實際上運行MinGW而不是Cygwin(使用which bash.exe驗證)。

我刪除了MinGW的路徑,瞧,它的工作。

道德故事:永遠不要把兩個路徑指向一個Path變量中兩個相同名稱的程序!

相關問題