UNIX shell用合理的语言编写?

时间:2008-10-05 00:42:54

标签: python unix shell

有没有人听说过用合理语言编写的UNIX shell,比如Python?

7 个答案:

答案 0 :(得分:23)

  • Eshell是Emacs Lisp中类似Bash的shell。
  • IPython可以是used as a system shell,虽然语法有点怪异(支持所有Python加基本sh构造)。
  • fish有一个用C编写的核心,但其大部分功能都是自己实现的。与许多罕见的shell不同,它可以用作登录shell。
  • Hotwire值得再提一次。它的基本设计似乎是“Python中的PowerShell”,但它也用UI做了一些聪明的事情。最后一个版本发布于2008年。
  • Zoidberg是用Perl编写的,使用Perl语法。一个漂亮的项目,羞耻似乎已经停滞不前。
  • Scsh用作登录shell会很痛苦(来自文档的示例命令:(run/strings (find "." -name *.c -print))),但它看起来像是一个很好的“Perl in Scheme。”

答案 1 :(得分:10)

iPython(Python)和Rush(Ruby)是专为更高级语言设计的shell。还有Hotwire,这是一种奇怪的集成shell /终端模拟器。

答案 2 :(得分:6)

从各方面来看,Python都是一个shell。它与#!一起运行,并且可以交互运行。在osshutil包之间,您具有标准Unix shell的所有功能。

由于您可以使用简单,功能强大的脚本在Python中执行任何操作,因此您无需花费任何时间来处理其他shell。

答案 3 :(得分:5)

嗯,有emacs,可以说是用lisp编写的shell:)

但是,您是否正在寻找以不同语言(如Python)重新实现现有shell设计?或者您是否正在寻找与您选择的语言类似的shell语言的新实现?

答案 4 :(得分:4)

答案 5 :(得分:3)

Tclsh非常好(假设你喜欢Tcl)。

答案 6 :(得分:0)

试试rash。它是用Racket编写的shell语言。它具有良好的交互式友好语法。您可以在任何普通的Racket文件中嵌入Rash,也可以在Rash中嵌入普通的Racket。它是可扩展的,您可以定义新的管道运算符。它目前仍具有alpha质量,但它非常酷。完全披露:我写了。