是否有用于 Un*x 的任何众所周知且使用良好的 shell 脚本 IDE?

vfc*_*sts 33 ide bash-script

是否有针对 shell 脚本编写的 IDE,特别是 bash 和 zsh 脚本?这意味着对 shell 脚本进行语法高亮显示,更重要的是具有断点、变量检查和修改等功能的调试环境,就像 Python、Java 和 C 等常规编程语言可用的那样。

例如,Microsft Windows Powershell有像Powershell PlusPowerGui这样的 IDE 。

谷歌搜索提出了ShellEd(一个用于编辑 shell 脚本的 Eclipse 插件)和 BashEclipse(一个与 ShellEd 一起工作的 Bash 调试器)的组合;我还没试过。

是否有任何其他类似于此组合的 Un*x 的 shell 脚本 IDE?有没有人对他们有一些经验?

jll*_*gre 17

我不会说它是众所周知的或很好用的,但您可能会看看basheclipse

在此处输入图片说明

我必须承认我没有使用 basheclipse 的经验,甚至由于 eclipse 版本不匹配而无法安装它。

另一方面,我正在使用 bash 和 ksh93 特定的调试功能,尤其是trap ERRtrap DEBUG那些但不是基于它们的调试器kshdbbashdb


ori*_*ion 8

一个专门构建的 IDE 有点违背 shell 脚本的目的,更不用说它几乎不可能做到,因为 shell 所做的大部分事情都是调用外部命令——你如何调试它?使用检查点进行调试对于 shell 来说是违反直觉的——shell 脚本通常对文件进行大量操作,因此对每次调用都会产生破坏性的副作用。按设计编写脚本逐行工作,因此您的“环境”实际上是终端本身 - 您可以随时回显变量,您的环境始终为您服务,没有您必须中断的“规定流程”。您可以逐步做任何想做的事情,一行一行,每次测试是否得到了您想要的内容,然后将这些行粘贴到脚本中以再次使用。

对于完全限定的脚本语言(Python、Perl 等),您确实拥有所有这些,但是 bash/zsh/ksh/... 是其他命令的交互式“胶水”,并且是它们自己的调试器。

然而,大多数文本编辑器会为您突出显示代码,并且emacs(如果您找到正确的包,我从来没有为 shell 脚本这样做过)提供可编程的关键字补全。我相信vi也可以做到这一点(请不要在这里开火)。

  • 我不同意 IDE 违背了 shell 脚本的目的。您可能想要清理您的 shell 脚本(例如内联无关变量,检测未使用的变量 - 这就是我在清理 System V Init 脚本时所做的工作,这些脚本变得不必要地长,尤其是从现有示例中复制时)。 (4认同)
  • 我还要补充一点,IDE 提供了智能感知或其他工具,因此我不必继续使用谷歌搜索或查看手册页来记住一些东西。它还允许我将所有脚本放在一个项目中,跨行,检查传入参数,测试循环和开关,分解管道进行检查等。 (4认同)
  • 您如何定义“完全合格的脚本语言”? (2认同)