微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

POSIX shell就像在Java中实现一样

>有没有人知道POSIX shell的实现,就像 Java中的脚本编写语言一样?
>如果没有,有人知道我可能错过了某个地方是否有ANTLR或JavaCC语法吗?

编辑:
我知道我有Jython,JRuby,Groovy,JavaScript可用于编写脚本,但它们都没有类似bash的语法.

这不会用于将Java代码编写在一起,而是允许人们运行预定义的命令,这些命令可以通过大型第三方媒体资产管理系统进行操作.

我想运行如下:

ls | grep "something" > output

其中ls和grep是Java命令. (这仅用于说明目的)

谢谢

解决方法

>我所知道的所有POSIX shell实现都是用C语言编写的,但我没有特别研究过这个问题.
> POSIX shell(我假设你的意思是像bash一样)语法相当复杂. lexing和解析之间没有明确的分离.另一方面,解析几乎不需要任何回溯.因此解析器生成器可能没有那么多帮助.

编辑,因为你已经澄清了你想要的shell语法:

我认为你最好的选择是使用现有的shell.以下是一些架构注意事项:

>您只需将应用程序链接到现有shell即可.添加操作资产管理系统的内置函数.可能存在许可问题.这为每个shell实例提供了一个应用程序实例
>您可以使用简单的客户端 – 服务器体系结构,其中服务器是应用程序的一部分,只响应没有控制逻辑的简单命令,客户端链接到shell,不直接访问应用程序数据.几个shell(bash,ksh,zsh)已经有了TCP访问的手段.

您可能不需要重新发明通信协议;考虑通过HTTP(S),服务器和客户端实现随时可用.事实上,你甚至可以在客户端只使用wget或curl脚本,因此根本不需要修补shell(这会使客户端保持复杂状态).

如果你需要修补shell(比如添加内置函数),可以考虑使用zsh,它有一个模块系统.您的应用程序(或客户端部分)将显示为定义内置函数和您需要的任何其他内容的模块(例如,zsh发行版包含ftp和mmap之类的模块).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐