我是 Windows 用户。但是根据我的项目需求,我需要编写Linux Shell Script(Bash shell)。如何在 Windows 上开发 Linux Shell?
是否有任何用于编写 Linux Shell 脚本的 IDE?请分享一些想法和资源链接。
你有很多选择:
赛格温
安装cygwin。它会给你一个狂欢。
明威
windows的最小 GNU。附带一组命令、编译器。这是我在 Windows 上的 Git 附带的,现在是小脚本的默认 shell
虚拟机,例如 VirtualBox
有大量虚拟机,VirtualBox 易于使用(它为Boot2Docker 提供动力)。您可以在真正的 Linux 发行版上进行开发和测试。
Windows 10 上的 Ubuntu
街区里来了一个新孩子。这允许您使用适用于 Linux 的 Windows 子系统 (WSL) 运行用户空间 Ubuntu。在Microsoft 博客上查看更多信息
其他说明/IDE 支持
Shell 脚本应该很小,需要更少的 IDE 等。我使用语法高亮的 VIM。但似乎ShellED在您的情况下可能有用。我从这个问题的答案中获得了链接 - Eclipse 的 Bash 脚本插件?
IntelliJ 也有几个用于 Bash的插件。
我更喜欢Gow(Windows 上的 Gnu)而不是 Cygwin。两者都会在 Windows 上为您提供 bash,但 Cygwin 对文件系统访问(/cygdive/c/some/path
而不是c:\some\path
)有不自然的约定。
原生的 windows 命令终端很蹩脚,看看Conemu。
我不知道有任何 bash IDE,但是有大量的 Windows 文本编辑器,它们为 bash 脚本提供了不错的语法高亮显示。我喜欢Notepad++和Sublime 文本(来自 Sublime 的多光标功能!)。我不建议将 bash 用于超过 30 行的任何内容,如果您觉得需要 IDE,也许该任务更适合 Python、Ruby 或 Perl(恕我直言,Python 更易于维护)。
Bash shell 将在即将到来的周年更新 (Redstone) 中用于 Windows 10。
Bash shell 即将登陆 Windows。是的,真正的 Bash 即将登陆 Windows,微软的 Kevin Gallo 在 Build 2016 主题演讲中说。这不是 VM [虚拟机]。这不是交叉编译的工具。这是原生的。”
/bin/bash
,可以完全访问所有 Ubuntu 用户空间是的,你是对的,这意味着apt
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,纳米...... _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _在 Ubuntu 档案中!set
ssh
rsync
find
ls
grep
awk
sed
sort
xargs
md5sum
gpg
curl
wget
apache
mysql
python
perl
ruby
ruby gem
php
gcc
tar
vim
emacs
diff
patch
由于您需要编写 linux shell 脚本,因此您正在学习 Linux。所以你应该在你的机器上安装 Linux(最好在它自己的分区上并从它启动,否则在 VM 中)。
使用cygwin
或模仿 Linux shell 不是使用 Linux。emacs
通过安装和使用 Linux(以及使用或gedit
或gvim
....之类的编辑器在其上进行开发),您将学到更多。此外,利用 Linux 几乎完全是免费软件的优势,您可以研究它的源代码并改进它。
不安装 Linux 对自己不利。
我相信cygwin
适合那些喜欢 Linux 但必须使用 Windows 的人。它不能给您整个 Linux 的感觉(例如,您将无法编写 shell 脚本来查看/proc
Windows 中不存在的内容,即使使用 cygwin 也是如此)。
有 cygwin ,这是一个 Windows 的 linux 控制台。所以你可以用它执行所有的 linux 命令。
如果您想使用模拟所有 Linux 环境的简单环境来替代 cygwin(更轻量级),您可以尝试mingw,您可以使用 notepad++ 或 emacs 或 vim 在 sh 脚本上提供一些语法高亮。
每个人都说要使用完整的 Linux 或使用各种模拟。如果您不需要那么多,Cloud9.io 是一个不错的选择。你可以设置一个可以在线访问的“工作区”,让你可以用任何类似于 np++ 的语言编写,但最好的部分是,它是一个在线 Linux,所以你有一个终端,里面有你所有的 shell 命令——没有模拟起来,没有双启动。
这样做的缺点是免费用户没有那么大的权力,所以如果你想执行一些高级数学或输出一个大图像,它会因为你使用太多内存而崩溃。但它仍然非常值得一试,它只在我身上崩溃过一次,而且我做了一些相当耗费内存的事情。
安装 Cygwin 以执行命令。但是,您可以使用 NotePad++ 作为具有本机 Windows 二进制文件的编辑器。
对于 Eclipse Luna 应该使用这个旧版本在 UI 错误上失败
Help > Install New Software… > Add…
名称:ShellEd
位置:http: //sourceforge.net/projects/shelled/files/shelled/update/
我有一个类似的问题。我喜欢 Linux 和 Windows,我同时在这两个系统上工作,但出于不同的原因,我使用 Windows 进行编程(通常是文本编辑)。例如,我在 Windows 上编写 C/C++ 代码,使用 Windows DevC++ IDE,然后我可以在 Linux 上编译这个项目,通过在 LAN 上共享文件。现在我必须写很长的脚本,我想以类似的方式来做。好吧,也许这是一个特殊的要求,但也许我不是唯一一个在这种混合环境中工作的人。首先,我尝试了notepad++(其他人也建议这样做),但它是否支持Linux脚本的语法高亮?我没有找到这个功能......然后我尝试了为Windows编译的gedit。它需要安装 GTK 库(实际上它已经在我的 Windows 上)。Gedit 有脚本的语法高亮!所以我建议在这种情况下使用 gedit for Windows。编辑后的脚本不能直接用它启动/测试,但用于编辑,没问题!