如何在Windows上像Linux一样开发Shell(bash)?

我是Windows用户。 但根据我的项目要求,我需要编写Linux Shell脚本(Bash shell)。 如何在Windows上开发Linux Shell?

有没有用于编写Linux Shell脚本的IDE? 请分享我的一些想法和资源链接。

你有很多选择:

cygwin的

安装cygwin 。 它会给你一个bash。

MinGW的

Windows的最小GNU 。 附带一组命令,编译器。 这与我的Git在Windows上,现在是小脚本的默认外壳

VM,如VirtualBox

虚拟机上有很多,VirtualBox很容易使用(它为Boot2Docker提供动力 )。 您可以在真正的Linux发行版上进行开发和测试。

在Windows 10上的Ubuntu

有块新的孩子。 这使您可以使用Windows Linux子系统(WSL)运行User Space Ubuntu。 在微博上查看更多内容

其他笔记/ IDE支持

Shell脚本应该很小,需要较少的IDE等。我使用VIM语法highligthing。 但是,似乎ShellED可能对您的情况有用。 我从这个问题的答案 – Eclipse的Bash脚本插件得到的链接?

IntelliJ也有Bash的插件 。

我更喜欢Gow (Windows上的Gnu)而不是Cygwin。 两者都会在Windows上给你bash,但是Cygwin对文件系统访问( /cygdive/c/some/path而不是c:\some\path )有不自然的约定。

原生windows命令终端很蹩脚,看看Conemu吧 。

我不知道任何bash IDE,但有很多窗口文本编辑器与bash脚本体面的语法高亮。 我喜欢Notepad ++和Sublime文本 (来自Sublime rocks的多重光标功能!)。 如果你觉得需要一个IDE,那么我不推荐bash用于超过30行的任何东西,也许这个任务更适合Python,Ruby或者Perl(IMHO Python更易维护)。

在即将到来的周年纪念更新(Redstone)中,Bash shell即将推出Windows 10。

Bash shell来到Windows。 是的,真正的Bash来到了Windows,微软的凯文·盖洛在Build 2016主题演讲中表示。 这不是一个VM [虚拟机]。 这不是交叉编译的工具。 这是本地的。“

以下是在Windows 10操作系统上运行Bash的步骤:

  1. 打开Windows开始菜单
  2. 输入“bash”[回车]
  3. 这将打开一个运行Ubuntu的/bin/bash的控制台,并完全访问所有的Ubuntu用户空间

是的,你是对的,这意味着aptsetsshrsyncfindlsgrepawksedsortxargsmd5sumgpgcurlwgetapachemysqlpythonperlrubyruby gemphpgcctarvimemacsdiffpatch ,nano …以及Ubuntu档案库中的大部分数以万计的二进制包!

参考

  1. Step-vise指南启用Windows 10的Ubuntu Bash Shell(用于Linux的Windows子系统)

  2. 在即将到来的周年纪念更新(Redstone)中,Bash shell即将推出Windows 10。

  3. 在Windows上的Ubuntu上运行本机Bash

由于您需要编写Linux shell脚本,因此您正在学习Linux。 所以你应该在你的机器上安装Linux(最好是在它自己的分区上启动,否则在VM中启动)。

使用cygwin或任何模仿Linux shell不使用Linux。 您将通过安装和使用Linux(并通过使用emacsgeditgvim等编辑器开发它)学到更多东西。 另外,要充分利用Linux几乎完全免费的软件 ,所以你可以研究它的源代码并改进它。

不安装Linux并不是在帮你一个忙。

我相信cygwin是为那些喜欢Linux,但必须使用Windows的人。 它不能给你整个Linux的感觉(例如,你将无法编写shell脚本来查看Windows中不存在的/proc ,即使使用cygwin)。

有cygwin,这是一个Linux控制台的Windows ..所以你可以执行所有的Linux命令。

安装Cygwin来执行这些命令。 但是,您可以使用NotePad ++作为具有本地Windows二进制文件的编辑器。

http://www.cygwin.com/

http://notepad-plus-plus.org/

如果你想使用一个模拟所有Linux环境的简单环境来替代cygwin(更轻量级),你可以试试mingw ,你可以使用notepad ++或者emacs或者vim来为sh脚本提供一些语法高亮。

对于Eclipse Luna应该使用这个旧版本的UI错误失败

 Help > Install New Software… > Add… 

名称:ShellEd

位置: http : //sourceforge.net/projects/shelled/files/shelled/update/

大家都说过要全Linux或者使用各种模拟器。 如果你不需要太多,Cloud9.io是一个不错的选择。 你可以设置一个可以在线访问的“工作区”,让你可以用类似于np ++的任何语言编写,但最好的部分是,它是一个在线Linux,所以你有一个终端,所有的shell命令 – 没有模拟没有双启动。

这样做的缺点是免费的用户没有太多的权力,所以如果你想要执行一些高级的数学计算或者输出一个大的图像,它会崩溃,因为你将会使用太多的内存。 但它仍然是值得的,它只会在我身上坠毁,而我会做一些相当耗费内存的事情。

我有一个类似的问题。 我喜欢Linux和Windows,而且我在两个系统上工作,但是对于编程(通常是文本编辑),我使用Windows,原因不同。 例如,我使用Windows DevC ++ IDE在Windows上编写C / C ++代码,然后通过在LAN上共享文件,在Linux上编译此项目。 现在我必须写很长的脚本,我想用类似的方法来做。 好吧,也许是一个特殊的要求,但也许我不是唯一一个在这种混合环境下工作的人。 首先,我尝试了记事本++(也是其他人的建议),但它是否支持Linux脚本的语法高亮显示? 我没有找到这个功能…然后我试着为Windows编译gedit。 它需要安装GTK库(实际上它已经在我的Windows上)。 Gedit具有语法突出显示的脚本! 所以我建议在这种情况下使用Windows的gedit。 编辑的脚本不能直接启动/测试,但编辑,它是好的!