使用 scala 创建自定义 shell



我需要关于shell/cli框架的建议。用例非常简单 - 我有一堆命令可以接受任意数量的参数并导致屏幕上的输出。

请注意,我严格遵循 shell 而不是 cli 解析(如 scopt(。

欢迎任何建议和/或建议。到目前为止,我真的找不到。

我想你可能对菊石感兴趣。它提供了各种使用 scala 编写脚本的工具。您可以查看这个小示例脚本。Ammonite 还允许您使用如下所示的导入来定义同一文件中的所有脚本依赖项(Intellij IDEA 甚至支持此语法(:

import $ivy.`org.scalaj::scalaj-http:2.3.0`, scalaj.http.Http

如果您担心脚本启动时间,那么我可以建议您特别查看GraalVM和本机映像工具。它允许您将任何 JVM 应用程序编译为本机二进制文件。它还执行 AOT(提前(编译,从而大大减少了 JVM 应用程序的启动时间(低至 ~1-10 毫秒(。

最新更新