從命令提示字元取得 .sh 檔案?

從命令提示字元取得 .sh 檔案?

您可以.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嘗試這樣做。

相關內容