我已经购买并使用Windows 7 Ultimate,喜欢使用它来开发应用程序。其中一个缺点(与每个操作系统一样)是我无法运行Bash脚本。有没有一种方法可以通过安装一些软件在Windows上运行Bash脚本?即使它不能百分之百正常工作,只要最常见的功能可用就很好。
我已经购买并使用Windows 7 Ultimate,喜欢使用它来开发应用程序。其中一个缺点(与每个操作系统一样)是我无法运行Bash脚本。有没有一种方法可以通过安装一些软件在Windows上运行Bash脚本?即使它不能百分之百正常工作,只要最常见的功能可用就很好。
另一种选择是MinGW's MSYS,它包括bash和一小部分更重要的实用工具,例如awk(您还可以检查竞争性分支-Mingw-w64)。个人而言,我更喜欢Cygwin,因为它包括Perl和Python等重量级工具,我发现我无法离开它们,而MSYS则忽略了这些并假设您将自己安装它们。
更新: 如果有人对此答案感兴趣并运行MS-Windows 10,请注意,MS-Windows 10具有“Windows子系统Linux”功能-启用后-可以安装Ubuntu的用户模式映像,然后在其中运行Bash。这提供与Ubuntu的100%兼容性,用于调试和运行Bash脚本,但此设置完全独立于Windows,您无法使用Bash脚本与Windows功能(例如进程和API)进行交互,除了通过DrvFS功能对文件进行有限访问。
mingw32
目录。因此,Git for Windows是包括Git(在MSYS安装程序中是可选的)的MinGW,并带有一个“更好”的安装程序:https://superuser.com/a/1362301/10942 - Guss如果你想要更本地化的解决方案,可以使用getGnuWin32来安装所有已移植的Unix命令行工具。再加上winBash,你就会得到几乎完整的Unix环境。为了获得更好的终端仿真器,建议增加console2,这样你几乎分不出自己是在Windows上了!
Cygwin总体而言是一个更好的工具包,但由于它与Windows之间的差异,我发现自己遇到了一些意外问题。虽然如此,这些解决方案也不能与本地Linux系统相比。
你可能想考虑使用virtualbox创建一个与所选版本的发行版的linux VM。将其设置为与主机操作系统共享文件夹,你就可以使用真正的Linux开发环境,并与Windows共享。只需要注意那些EOL标记,因为它们有时会给你带来麻烦。
最好的选择?Windows 10。原生支持Bash!
cbwin
绕过它......但这已经是太多的麻烦,仅仅是为了解决问题)。 - ankostis你可以随时安装Cygwin在Windows下运行Unix shell。我曾经在Windows XP上广泛使用过Cygwin。
bash
,失败了,安装了 git-extensions 后再次尝试,结果成功了。 - rtpHarry还有一种理论可能性:Windows的专业版本内置了POSIX支持,因此bash可以在Windows上进行本地编译。
可惜的是,我自己还没有找到一个已经编译好的...