我是Windows用户。但根据我的项目要求,我需要编写Linux Shell Script(Bash shell)。如何在Windows上开发Linux Shell?
是否有用于编写Linux Shell脚本的IDE?请与我分享一些想法和资源链接。
答案 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 [虚拟机]。这不是交叉编译的工具。这是原生的。“
/bin/bash
的控制台,可以完全访问所有Ubuntu用户空间是的,你是对的,这意味着apt
,set
,ssh
,rsync
,find
,ls
,{{1 }},grep
,awk
,sed
,sort
,xargs
,md5sum
,gpg
,curl
,wget
,apache
,mysql
,python
,perl
,ruby
,ruby gem
,php
,{ {1}},gcc
,tar
,vim
,emacs
,nano ...以及Ubuntu档案中提供的数万个二进制包中的大多数!/ p>
答案 3 :(得分:5)
由于您需要编写linux shell脚本,因此您正在学习Linux。所以你应该在你的机器上安装Linux(最好是在它自己的分区上并从它启动,否则在VM中)。
使用cygwin
或任何模仿Linux shell都不使用Linux。通过安装和使用Linux(以及使用emacs
或gedit
或gvim
等编辑器进行开发),您将学到更多东西。此外,利用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二进制文件的编辑器。
答案 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。编辑过的脚本不能直接用它来启动/测试,但是对于编辑,没关系!