您可以.sh
使用這些程式中的任何一個從 Windows 命令提示字元呼叫檔案嗎?
例如:
msys myscript.sh
或者
c:\temp\msys.exe myscript.sh
是否可以?因為我想在我的系統之一上運行 .sh 腳本的批次檔。
答案1
msys.exe
是 Unix 命令列工具的眾多移植之一。我沒有使用過它,但msys.exe
似乎是安裝包,所以你需要運行並配置它。如果您希望工具隨時可用,但安裝程式沒有這樣做,則需要將安裝的目錄新增至變數PATH
。
要解釋您需要的 shell 腳本bash
,因此在您的範例中您將鍵入:
bash -c myscript.exe
如果所有腳本都以 結尾.sh
(在 Unix 中不需要特定的副檔名,而且通常不需要),則可以將.sh
副檔名與關聯起來bash
,這樣您就可以直接鍵入或雙擊腳本名稱。
或者,您可以bash
交互運行cmd
,然後所有命令都將像在 Unix 上一樣運行。
需要注意的兩點:-
- 如果腳本是從 Unix 匯入的,它們將是解釋的正確,但如果它們呼叫 Windows 中不存在或具有不同功能的命令或資源,則不會執行。
- Unix 使用
/
和 作為目錄分隔符號-
來表示命令選項,而 Windows 使用\
和/
。一些 Unix 命令連接埠嘗試同時適應這兩種風格,但由於/
有兩種不同的含義,因此它必然是一個糟糕的折衷方案。我不知道是否msys
嘗試這樣做。