如何在Windows上使用Linux-Like Shell(bash)进行开发?

时间:2012-09-06 05:28:21

标签: windows linux bash

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

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

10 个答案:

答案 0 :(得分:22)

您有很多选择:

<强> cygwin的

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

<强> mingw的

minimal GNU for windows。附带一组命令,编译器。这是我的Windows上的Git,现在是小脚本的默认shell

VM,例如VirtualBox

VM上有很多,VirtualBox易于使用(它为Boot2Docker提供支持)。您可以在真正的Linux发行版上进行开发和测试。

Windows 10上的Ubuntu

街区有新的孩子。这允许您使用Windows子系统Linux(WSL)运行User Space Ubuntu。在Microsoft blog

上查看更多内容

其他说明/ IDE支持

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

对于Bash来说,IntelliJ也有几个plugins

答案 1 :(得分:10)

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

本机Windows命令终端非常蹩脚,请查看Conemu

我不知道任何bash IDE,但是有太多的windows文本编辑器对bash脚本有很好的语法高亮。我喜欢Notepad++Sublime text(Sublime rock的多光标功能!)。我不推荐bash用于超过30行的任何东西,如果你觉得需要IDE,也许这个任务更适合Python,Ruby或Perl(恕我直言Python更易于维护)。

答案 2 :(得分:10)

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

Bash shell即将推向Windows。是的,真正的Bash将进入Windows,微软的Kevin Gallo在Build 2016主题演讲中表示。这不是VM [虚拟机]。这不是交叉编译的工具。这是原生的。“

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

  1. 打开Windows“开始”菜单
  2. 输入“bash”[按Enter键]
  3. 打开一个运行Ubuntu /bin/bash的控制台,可以完全访问所有Ubuntu用户空间
  4. 是的,你是对的,这意味着aptsetsshrsyncfindls,{{1 }},grepawksedsortxargsmd5sumgpgcurlwgetapachemysqlpythonperlrubyruby gemphp,{ {1}},gcctarvimemacs,nano ...以及Ubuntu档案中提供的数万个二进制包中的大多数!

    参考

    1. Step-vise Guide to Enable Windows 10’s Ubuntu Bash Shell (Windows Subsystem for Linux)

    2. The Bash shell is coming to Windows 10 in the upcoming Anniversary Update (Redstone).

    3. Run native Bash on Ubuntu on Windows

答案 3 :(得分:5)

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

使用cygwin或任何模仿Linux shell都不使用Linux。通过安装和使用Linux(以及使用emacsgeditgvim等编辑器进行开发),您将学到更多东西。此外,利用Linux几乎完全free software,所以你可以研究它的源代码并改进它。

不安装Linux并没有帮自己一个忙。

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

答案 4 :(得分:2)

有cygwin,这是windows的linux控制台..所以你可以用它执行所有linux命令。

答案 5 :(得分:2)

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

答案 6 :(得分:2)

每个人都说要完全使用Linux或使用各种模拟器。 如果您不需要那么多,Cloud9.io是一个不错的选择。 您可以设置一个&#34;工作区&#34;可以在线访问,让你用字面上的任何类似于np ++的语言写,但最好的部分是,它是一个在线Linux,所以你有一个终端,所有你的shell命令 - 没有模拟,没有双开机。

这样做的缺点是免费用户没有那么大的功率,所以如果你想执行一些高级数学或输出一个大图像,它会崩溃,因为你将使用太多的内存。但它仍然值得进入,它曾经只在我身上坠毁过一次,我做了一些非常耗费内存的事情。

答案 7 :(得分:1)

安装Cygwin以执行命令。但是,您可以将NotePad ++用作具有本机Windows二进制文件的编辑器。

http://www.cygwin.com/

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

答案 8 :(得分:1)

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

Help > Install New Software… > Add… 

名称:ShellEd

地点:http://sourceforge.net/projects/shelled/files/shelled/update/

答案 9 :(得分:-1)

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