进一步阅读

进一步阅读

你可以说我是一个梦想家,但想象一下这样一个世界:我们使用的“每个”CLI 工具都可以选择生成稳定的输出(例如 JSON)。以编程方式使用lsfreedf、等 CLI 工具fdisk将变得轻而易举。 GNU 标准化的方式参数语法约定,它可以按照以下方式标准化输出吗 --json生成根据 JSON 规范格式化的特定于工具的报告”?也许这已经被尝试过但被拒绝了?如果没有,我们如何推动这样的事情?

答案1

您可以在专门针对您感兴趣的特定工具的邮件列表上提倡这一点。

可用的 GNU 邮件列表可在此处找到:https://lists.gnu.org/mailman/listinfo/

如果您感兴趣的一个或其他工具没有由任何 GNU 邮件列表表示,那么您必须调查谁在维护它以及是否有他们维护的关联邮件列表。

请注意,如果您可以提供实现该功能并且有效的源代码补丁,那么对开源项目的功能请求被接受的机会就会更高。

答案2

有尝试过吗?

是的。不仅尝试过,而且完毕。存在一个交互式 shell,其中(shell 内)管道是对象流而不是字节流,并且 shell 变量是具有可访问属性的对象,不需要解析结构化文本或字段分隔符。

% 正常运行时间 | awk '{print $3;}'
2
%
% 工作人员
电源外壳 6.2.0
版权所有 (c) Microsoft Corporation。版权所有。

https://aka.ms/pscore6-docs
输入“帮助”以获得帮助。

PS /var/lib/dpkg> (Get-Uptime).TotalDays     
2.98334490740741
PS /var/lib/dpkg> $U = 获取正常运行时间          
PS /var/lib/dpkg> echo $U.TotalDays
2.98353009259259
PS /var/lib/dpkg> 退出
%

你在考虑重新审视这个问题上已经落后了几十年。这个特殊的例子并不是人们第一次考虑重新设计命令行 shell。几十年前,M. Wall 和 M. Joy 等人就对这个问题有了一些想法。

% tcsh
/var/lib/dpkg> 设置 u=(`正常运行时间`)
/var/lib/dpkg> 回显 $u[3]
2
/var/lib/dpkg> 退出
出口
%
% perl << "."  
$U = `正常运行时间`;
$U =~ /.*?up(.*?)/;
打印“$1\n”;
2
%

你的思维错误:

  • 这种事情都是通过唠叨别人来完成的。
  • GNU 工具及其所有现存的非标准扩展,是标准。
  • 您只有一套工具。

进一步阅读

相关内容