吐槽一波 powershell

2022-08-10 23:32:48 +08:00
 serialt
明明 bash 已经很好用了,微软为什么要整出个这么难用的 shell
3243 次点击
所在节点    问与答
30 条回复
ColorfulBoar
2022-08-11 11:21:06 +08:00
既然 bash 这么好用,希望你以后写别的语言的时候主动禁用除字符串以外的所有非函数类型,所有的函数类型都是 string->string ,永远只传一个字符串进去然后用自己绝世的字符串处理技巧手动解析出需要的信息,最后再把需要返回的信息编码成一个新字符串返回

另外这种能觉得 bash 是个好东西的审美……真的强烈推荐尝试一下 C 和 Go ,你一定会喜欢的!
(无奖竞猜:这三个的共同点是____
serialt
2022-08-11 11:27:27 +08:00
@Tumblr 只是吐槽,linux bash 已经多年,一用 windows 的 cmd 或者 ps 就很难受,没办法,只好装 git bash 或者 wsl2
wxf666
2022-08-11 11:42:10 +08:00
@hez2010 虽说 bash 很难用,但也不至于这么点儿任务都干不了

我仿照 powershell 的结果写了一个,结果一样(模仿格式导致写得冗余)

ps h -eo pid,comm | jq -Rs '[capture(" *(?<pid>[0-9]*) *(?<name>.*)\n"; "g")] | group_by(.name) | sort_by(-length) | map({Name: .[0].name, Count: length, PID: (if length > 1 then {value: [.[].pid | tonumber], Count: length} else .[0].pid end)})'


我觉得 bash 适合交互和简单脚本,再复杂就适合上编程语言了

powershell 似乎适合当编程语言?
Tumblr
2022-08-11 12:10:41 +08:00
@serialt #22 其实是个习惯问题了。我是从 Windows 起步的,也玩过 Linux ,也玩过 macOS ,目前 PowerShell/pwsh 、bash 、pwsh for Mac 几乎无缝切换~
不过说到这个了,我玩 Linux 的时候玩 CentOS 比较多,所以一直觉得 yum 正宗,apt 异类!

@wxf666 #23 其实做横向比较的意义不是太大啦,每种语言的存在都是各有千秋的。
PowerShell 并不适合当编程语言,只是脚本语言,但背靠 .net ,如果是玩 .net 或者 C#,用 PowerShell 的时候确实门槛超级低,很容易入手。
xuboying
2022-08-11 12:12:39 +08:00
感觉 powershell 作为 shell 是真的。。。
作为编程工具不知道为何不直接用 python 。。。毕竟 python 慢慢编程全民语言了。。。
Crabby
2022-08-11 12:16:55 +08:00
@DAPTX4869
Mastering Windows PowerShell Scripting: Automate and manage your environment using PowerShell Core 6.0, 3rd Edition
作者 Chris Dent. 这本不错.
nicevar
2022-08-11 12:20:52 +08:00
psh 会用就好用,不会用就难用,不会比 bash 差,说不好用的往往是两者都用不好的半桶水
dcsuibian
2022-08-11 12:25:32 +08:00
@serialt 我猜测,你有认真学过 Linux ,而 Windows 却是直接上手用,这可不公平啊
skinny
2022-08-11 12:28:53 +08:00
跟 bash 比,powershell 好用,就是启动很多时候不够快。PowerShell 封装了太多系统管理功能和 API 给你调用,而且背靠 dotnet ,你甚至可以混 C#代码在里面,还可以通过 P/Invoke 调用各种动态库提供的 API 。

当然了,PowerShell 也有很多瑕疵(没有完美的语言),比如返回值你不赋值到变量或通过管道扔给 out-null ,他会返回给外部,你不注意就有很多命令结果隐式当成返回值返回了,我不喜欢这个风格,我觉得这算瑕疵,我要返回啥就会明确写。
Ei1l
2022-08-11 16:57:13 +08:00
powershell 底层是.net.....能搞出花来.我就是用这个来挂一些简单脚本

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872047

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX