有没有人听说过用一种合理的语言(如 Python)编写的 UNIX shell?
Eric P. Mangold
问问题
3364 次
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 回答
6
从表面上看,Python 是一个外壳。它运行#!
并且可以交互运行。在os
和shutil
包之间,您拥有标准 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/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 回答