@
james122333 很显然你没有深入了解过 PowerShell ,PowerShell 有 alias 的,因此交互式模式下用 alias 的体验和 bash 差不多“简洁”。scripting 的时候推荐写全称,是为了更好的可读性和一致性。
管道也不是只能传对象,一样可以传字符串或者 binary ,
只是因为它是在.net 之上构建的因此天然 oop 而已。我觉得这个设计不坏,比如 nushell 之类的新兴 shell 都采用了结构化数据的方式。反而 bash 里面一切皆 ByteString 一直是一个很折磨人的点,导致好多场景开发者不得不引入 python 、perl 之类的来写复杂脚本。
我能理解一开始就从 unix-like 入门的人觉得 PowerShell 难用,且事实也确实是除了 Windows
或.NET 开发者以外几乎没人用。不过正如你说的它应该叫 powerscript ,在脚本编程方面它对标的更多是 python 而不是 bash 。你在这里批判它的语法和设计其实就像攻击 python 的缩进、动态类型一样。总有人喷也总有人维护的,意义不大。
至于你对 unix 工具不一致性的解释,那我只能说我正是因为被坑太多次了因此选择能不用就不用。(你说得对但是 Ubuntu 将 GNU Coreutils 替换成 Rust 重写的 uutils 后导致 rustlang 项目自己的部分 ci 没法在新版 Ubuntu 上跑通了,因为对 coreutils 的行为预期不一致)