9

有没有人听说过用一种合理的语言(如 Python)编写的 UNIX shell?

4

7 回答 7

24
  • Eshell是 Emacs Lisp 中的一个类似 Bash 的 shell。
  • IPython 可以用作系统 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”。
于 2008-10-05T01:08:31.170 回答
10

iPython (Python) 和Rush (Ruby) 是为更高级的语言设计的 shell。还有 Hotwire,它是一种奇怪的集成外壳/终端仿真器。

于 2008-10-05T00:52:02.747 回答
6

从表面上看,Python 是一个外壳。它运行#!并且可以交互运行。在osshutil包之间,您拥有标准 Unix shell 的所有功能。

由于您可以使用简单而强大的脚本在 Python 中做任何事情,因此您真的不需要花任何时间来弄乱其他 shell。

于 2008-10-05T01:15:26.740 回答
5

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

不过说真的,您是否正在寻找用不同的语言(例如 Python)重新实现现有的 shell 设计?或者您是否正在寻找一种与您选择的语言相似的 shell 语言的新实现?

于 2008-10-05T00:45:09.937 回答
4

现在有xon:

http://xon.sh/

http://xon.sh/tutorial.html#running-commands

PyCon 视频 - https://www.youtube.com/watch?v=uaje5I22kgE

于 2016-08-30T18:37:50.387 回答
3

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

于 2008-10-05T01:05:42.233 回答
1

尝试皮疹。它是一种用 Racket 编写的 shell 语言。它有一个很好的交互友好的语法。您可以将 Rash 嵌入到任何普通的 Racket 文件中,也可以将普通的 Racket 嵌入到 Rash 中。它是可扩展的,您可以定义新的管道运算符。目前它仍然是 alpha 质量,但它非常酷。完全披露:我写的。

于 2017-11-07T20:52:30.713 回答