最近几乎所有环境转终端了,
打算好好学学 shell
根本找不到新鲜教程
本着试一试的态度
搜了rust shell
蹦出来 nushell
好呀,好呀
我现在发现了
都 2022 年了如果一个能用的东西
还没有 TLDR 的觉悟
那么我一定找得到更新更好更免费的替代品
1
kindjeff 2022-08-24 13:24:43 +08:00
看着还不错,看起来语法差异和 bash 有点大。回头试试。
我把 fish 当主力用了很多年,以前 fish 语法还和 bash 差很多的时候,各种 shell 脚本都得自己改;现在差异小了一些,不过很多时候还是得自己改或者 bash a.sh |
2
lostberryzz 2022-08-24 13:45:16 +08:00 1
别整这些花里胡哨的,老老实实用 bash
|
3
Tink 2022-08-24 14:58:51 +08:00
一天天这么写管道的人得是多闲
|
4
ColorfulBoar 2022-08-24 15:39:24 +08:00 2
以前试用过,最后的结果是在又一次出 bug 之后大彻大悟直接转 Powershell 。
所谓现代化就是干点人事:放弃了啥玩意都当字符串传然后收到之后再去 parse 这种纯整蛊的设计,把类型系统弄得像点人样,把某个对象是什么和它会怎么被显示出来这两件事分开。比如 ls 结果是一个 table 可以直接用 index 取里面的东西,而不是得到一大坨字符串再解析第几行第几列。然后很遗憾,一旦接受了这一点就已经「背叛」旧世界了,命令的皮长不长得像 bash 其实并不重要,你看 Poweshell 里面也定义了一坨同一个画风的 alias ,还不是无数人整天复读敲 Get-ChildItem 费手所以它是个垃圾……这就跟 Rust/C++无论做成什么样都不可能替代 C 一样,跟技术一点关系都没有,你跟那帮 2022 年还觉得 C 是《高级汇编》《贴近底层》的🐗怎么交流嘛。 在这个意义上怎么看 nushell 和它那帮拿 Rust 糊的「现代」命令行工具兄弟们(特指那帮作为 modern xxx 而生的,反过来如果单纯想糊个好用的东西那自然是什么事情都没有)怎么有点尴尬:往前看讲究一个《封建忠诚》,光看你这层皮就知道不属于人家《牢不可破的联盟》;往后看的话这几个货相互之间一点配合都没有(也没办法,大家都喜欢源码分发,Rust 一时半会儿也没个稳定的 ABI ),纯靠 nushell 维护者手工往里面塞东西也不是个事,能像.Net 之于 Powershell 一样的东西连个影子都没有,那天花板也就那样了 |
5
andyJado OP |
6
Slurp 2022-08-25 01:36:19 +08:00
不建议…… Nushell 烂,PowerShell 更烂,一切所谓有现代设计的 Shell 都挺烂。
- 如果从来不写 Shell 脚本,请不要考虑所谓现代设计。现代设计有什么用,也没见过几个 CLI 支持管道传对象。还不是乖乖解字符串。 - 请考虑日用体验。比如启动速度,PowerShell 在这一点上直接出局,Nushell 倒还不错。再比如,插件管理、completion 、高亮等等。 |
7
yb2313 68 天前
我用, 默认就可以用 vi 语法真好
|