Unix 相当于 PowerShell?

Unix 相当于 PowerShell?

当复杂的 shell 命令涉及解析文本输出时,我总是觉得很尴尬AWK。基本上,我们将结构化数据转换为文本,然后再次解析文本以获取结构化数据。

电源外壳是一个 Windows shell,它允许您在 shell 命令之间传输键入的对象而不仅仅是文本,从而避免了该问题。

是否有任何基于对象而不是基于文本的 Unix shell(例如 PowerShell)?

答案1

不,事实恰恰相反。没有勺子^H^H^H结构化数据。只有文字。

Unix 哲学的很大一部分是基于输出文本和接受文本作为输入的思想。您可能想考虑阅读“Unix 编程的艺术”,对此有一个很好的解释。

不要误会我的意思:我理解你的观点,我知道你想表达什么。有些东西可以用作 shell,例如 Ruby 和 Python 的交互式解释器,但它们对于基本任务并不像 Bash 那样友好。例如,尝试更改目录。

此外,在 shell 中使用对象还不是全部。如果只有你的支持这个,在Unix上,你会不知所措。所有标准 Unix 文本操作工具都必须进行更改,例如 grep、awk、sed 等。

我想几年前就有人尝试过创造这样的东西,但我不记得这个名字了,而且我已经很长时间没有听说过它了。它可能不会起飞。

答案2

其实有一个项目叫帕什旨在实现 PowerShell(在 Mono 之上),但它似乎已经停滞了。

答案3

PowerShell 于 2016 年开源。从那时起,它就变得越来越多平台。源代码可在GitHub许多类 UNIX 系统的安装包也是如此。

答案4

我认为您可以通过编写一堆解释(或编译)脚本,然后在解释器的 shell 中调用它们来完成大部分工作,如果您愿意,它将返回或保留您的对象等等。

您至少可以使用 Ruby、Perl、Python、Haskell(例如 GHCi)、JavaScript(例如 node.js)、Matlab 以及其他语言来完成此操作...

相关内容