【问题标题】:UNIX shell written in a reasonable language? [closed]UNIX shell 用一种合理的语言编写吗? [关闭]
【发布时间】:2010-09-15 08:04:30
【问题描述】:

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

【问题讨论】:

  • 你是不是暗示我们有什么问题,你这个庸人?
  • 或者,为了不那么轻率,在上下文中什么是合理的,为什么?
  • 只是一个问题:Python 是用“合理”的语言编写的吗?

标签: python unix shell


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 谢谢,我不知道 Rush。我可能需要学习 Ruby(或用 Python 重新实现它)。
    • Rush 看起来很漂亮,我得安装它并试一试。
    【解决方案3】:

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

    【讨论】:

    • 好吧,我对 Tcl 是个庸人。你可以保留它。
    【解决方案4】:
    • 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”。

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:
        【解决方案7】:

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

        【讨论】:

          猜你喜欢
          • 2018-02-22
          • 1970-01-01
          • 2014-07-30
          • 1970-01-01
          • 2011-01-11
          • 2010-09-13
          • 1970-01-01
          • 1970-01-01
          • 2015-08-30
          相关资源
          最近更新 更多