咨詢電話:023-6276-4481
熱門文章
電 話:023-6276-4481
郵箱:broiling@qq.com
地址:重慶市南岸區(qū)亞太商谷6幢25-2
越來越多的人選擇用Mac或者Linux環(huán)境進行跨平臺項目開發(fā)。但是仍然有大部分人習慣于在Windows環(huán)境下進行開發(fā),畢竟Windows在各方面使用還是較為方便,特別像文件版本管理(Git,SVN等)
在跨平臺下開發(fā)游戲或軟件,就需要有一套方便的自動化工具。Windows下需要使用批處理,雖然有PowerShell加持,但這東西學了也不靠譜,只有一個平臺能用。大家還是習慣Linux Shell。連Mac平臺都可以用Shell,Windows上要做自動化腳本就顯得非常尷尬。
我曾經(jīng)在項目中使用go編寫了一套將配置轉(zhuǎn)為批處理和Linux Shell的工具。使用過程較為復雜,但是能跨平臺進行表格導出和協(xié)議編譯等工作。
但是,這個工具還是需要對不同的平臺編寫多套模板進行代碼生成,非常繁瑣。如果有一套跨平臺的Shell,編寫一次就可以跨平臺運行那該多好。
查閱資料后,一共有幾個方案:
使用Python作為自動化工具 這個方案其實就是使用python把批處理和Shell干的事情用代碼來解決。但前提是要重新學習Python,也需要一部分熟悉簡單的Python語法,人為學習成本較高,也比較費事。
自己編寫一套獨立的自動化工具 這個方案需要長時間的適配過程,差什么指令補什么指令,對項目進度有一定干擾。
自己編寫Linux Shell的解釋器 這個就更難了,要做到100%兼容,基本不可能。
使用Cygwin和Mingw 需要一個微型運行時進行Linux Shell的解釋,msys大概是18M左右,可行性較高。
在研究Cygwin和Mingw如何整合的過程中,我誤操作點擊了一個sh后綴的Linux Shell,這是我希望讓Mingw運行的Shell。結(jié)果呢,sh后綴的文件居然能在Windows下運行。我馬上編寫了一系列的例子,發(fā)現(xiàn)幾乎完全兼容常用的Shell指令。 經(jīng)過研究,我發(fā)現(xiàn)Windows下能運行sh文件是由Git自帶的msys2提供的。MSYS2 (Minimal SYStem 2, http://www.msys2.org/) 是一個MSYS的獨立改寫版本,主要用于 shell 命令行開發(fā)環(huán)境。同時它也是一個在Cygwin (POSIX 兼容性層) 和 MinGW-w64(從"MinGW-生成")基礎上產(chǎn)生的,追求更好的互操作性的 Windows 軟件。
那就是說,只要安裝了Git(https://git-scm.com/),那么就可以在Windows下直接運行Linux Shell,只需要將文件后綴命名為sh即可。