关于python:UNIX shell用合理的语言编写?

UNIX shell written in a reasonable language?

有人听说过用合理的语言(比如python)编写的unix shell吗?


  • 在EmacsLisp中,eshell是一个类似bash的shell。
  • 虽然语法有点奇怪(支持所有的python加上基本的sh构造),但ipython可以用作系统外壳。
  • fish有一个用C语言编写的核心,但它的大部分功能都是自己实现的。与许多罕见的shell不同,它可以用作登录shell。
  • Hotwire值得一提。它的基本设计似乎是"Python中的PowerShell",但它也在UI中做了一些聪明的事情。最后一次发布是在2008年。
  • Zoidberg是用Perl编写的,使用Perl语法。一个好看的项目,可惜它似乎停滞不前了。
  • 使用scsh作为登录shell(来自docs:(run/strings (find"." -name *.c -print))的一个示例命令)是很痛苦的,但它看起来像是一个很好的"perl-in-scheme"。

ipython(python)和rush(ruby)是为更高级的语言设计的shell。还有Hotwire,它是一个奇怪的集成外壳/终端模拟器。


从表面上看,Python是一个贝壳。它与#!一起运行,可以交互运行。在osshutil包之间,您拥有标准Unix shell的所有特性。

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


嗯,这里有emacs,可以说是用lisp编写的shell:。

不过,认真地说,您是在寻找用另一种语言(如python)重新实现现有shell设计吗?或者您正在寻找一个类似于您选择的语言的shell语言的新实现?


现在有Xon:

HTTP//XON

http://xon.sh/tutorial.html运行命令

Pycon视频-https://www.youtube.com/watch?V= UAJE5I22KGE


tclsh很不错(当然,假设你喜欢tcl)。


试试皮疹。这是一种用拍子写的shell语言。它有一个很好的交互式友好语法。你可以将皮疹嵌入任何正常的球拍文件,也可以将正常的球拍嵌入皮疹。它是可扩展的,您可以定义新的管道运算符。目前它仍然是阿尔法质量,但它相当酷。完全公开:我写的。