(sys-admin) shell 脚本的最佳方案实现是什么?

发布于 2024-08-08 07:23:40 字数 555 浏览 4 评论 0原文

我已经阅读了学术计划的内容(阅读 SICP、The Little计划者、经验丰富的计划者、TSPL),并且将计划作为玩具玩了一段时间。

但我想变得实用。 今天我需要编写一个shell脚本来进行一些批处理文件处理,并想“为什么不在Scheme中这样做呢?”。我做到了,这是一种快乐。

现在我不得不想知道 shell 脚本类型的最佳实现是什么。 我知道所有实现都在 R5RS 之外的实现方面有所不同。 (基本上,它们在脚本语言中所需的所有有用且实用的扩展方面有所不同)。

所以我想选择一种实现并坚持下去。我正在寻找以下东西:

  1. 跨平台(Linux、OS X、Windows)。
  2. 具有在日常 shell 脚本编写中有用的扩展,这些扩展是基本安装的一部分。
  3. 易于安装。 (例如,有许多预构建的二进制文件,和/或它是许多发行版上的标准包。)
  4. 正在积极开发,有一个活跃的社区。
  5. 有 Unicode 支持。

到目前为止我一直在使用Gambit。似乎满足上述约束条件。 PLT 似乎有点矫枉过正。想知道 Guile、MIT/GNU 等。

I've gone through the academic Scheme stuff (read SICP, The Little Schemer, The Seasoned Schemer, TSPL) and been playing with Scheme as a toy for a while.

But I want to get practical.
Today I needed to write a shell script to do some batch file processing, and thought "why not do it in Scheme?". I did, and it was a joy.

Now I'm forced to wonder what the best implementation is for shell script type stuff.
I know all implementations differ in terms of what they implement beyond R5RS. (Basically, they differ in all the useful and practical extensions you'd want in a scripting language).

So I'd like to pick one implementation and stick to it. I'm looking for something that:

  1. Is cross platform (Linux, OS X, Windows).
  2. Has extensions that are useful in day-to-day shell scripting, and those extensions are part of the base install.
  3. Is easy to install. (e.g. there are a number of pre-built binaries, and/or it is a standard package on many distros.)
  4. Is actively developed, with an active community.
  5. Has Unicode support.

I've been using Gambit so far. It seems to satisfy the above constraints. PLT seems like overkill. Wondering about Guile, MIT/GNU, etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

阿楠 2024-08-15 07:23:40

PLT 方案满足您的所有标准。既然看起来您已经知道了,您应该使用 MzScheme 包。 MzScheme 是所有 PLT 构建于其之上的运行时。

如果您要下载完整的 PLT 方案安装,它看起来会很大,因为除了运行时之外,它还包含大量文档和 IDE。

PLT Scheme meets all of your criteria. Since it looks like you know that already, you should to use the MzScheme package. MzScheme is the runtime on top of which all of PLT is built.

If you were to download the full PLT Scheme install it would seem large as it includes a lot of documentation and an IDE in addition to the runtime.

梦忆晨望 2024-08-15 07:23:40

您听说过 scsh 吗?我没用过,但听起来很像你想要的。

Have you heard of scsh? I haven't used it, but it sounds a lot like what you want.

最单纯的乌龟 2024-08-15 07:23:40

我推荐 Gauche,即:

  1. 在 Linux、OS X、Windows 上运行
    Cygwin 和其他一些 类 UNIX
    平台
  2. 基本安装包含
    符合 POSIX 标准的系统库和
    有用的模块,例如
    网络协议、文件系统、
    DBM、多线程等...
  3. MacPorts、apt-get、yum 等多种软件包系统可用
    (或者只是说configuremake
    make install),
  4. 有活跃的英语和日语邮件列表,
  5. 支持UTF-8作为内部编码。

I recommend Gauche, which is:

  1. Running on Linux, OS X, Windows w/
    Cygwin and some other UNIX-like
    platforms
    ,
  2. The base install contains
    POSIX-compliant system libraries and
    useful modules such as
    network protocols, file system,
    DBM, multithreading, etc...
  3. Several package system such as MacPorts, apt-get, yum are available
    (or just say configure, make and
    make install),
  4. There are active English and Japanese mailing list,
  5. Supports UTF-8 as an internal encoding.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文