吐槽一波 powershell

2022-08-10 23:32:48 +08:00
 serialt
明明 bash 已经很好用了,微软为什么要整出个这么难用的 shell
3002 次点击
所在节点    问与答
30 条回复
FanyFull
2022-08-10 23:48:55 +08:00
确实难用。一点也不 power 。
sky96111
2022-08-10 23:56:18 +08:00
PowerShell 是一个强大的好工具,但不是一个好 shell
Osk
2022-08-10 23:57:00 +08:00
powershell 的 power 体现在管理 Windows 上, 背靠 .Net 平台, 各种 API 丰富, 虽然语法怪怪的, 但用来管理系统是真的方便.

powershell 管道传对象的设计比 bash 传字符串有一定优势, 毕竟字符串处理不好时容易翻车...
cmdOptionKana
2022-08-11 00:00:51 +08:00
主要是缺少一个好教程吧,理论上 powershell 有很多先进的特性,习惯了应该会很好用的。
ronman
2022-08-11 00:02:15 +08:00
可是 PowerShell 是真的好用啊
hez2010
2022-08-11 00:22:24 +08:00
我反而觉得 powershell 又强大又好用,而 bash 啥都没有。
powershell 与其说是 shell ,不如说是 shell 语法的 python 。
比如我需要获取全部的进程列表,然后按照进程名字分组,列出相同进程名的数量和进程 Id ,最后按照进程数量倒排,然后转换成 json ,在 powershell 里面只需要一行:
Get-Process | group Name | select Name,Count,@{Name='PID';Expression={$_.Group.Id}} | sort -desc Count | ConvertTo-Json
adoal
2022-08-11 00:53:03 +08:00
你把理解为一个取了 shell 之名但实际不是 Unix- alike shell 的.NET-targeted scripting language 就不会难受了
dcsuibian
2022-08-11 01:00:06 +08:00
如果是在 linux/mac 上,那确实不好用。(跨平台 shell 只是个美好的梦)但如果在 Windows 上,是十分好用的。

1 、PowerShell 背靠.NET 平台,它值是有类型的,而 bash 则只是处理文本。PowerShell 相对来说更接近编程语言,有着更加强大的操控力,比如 (Get-Service win32Time).Stop() 这种,就是方法调用的形式。
2 、bash 字符串的操作方式,总让我有种不稳定感。比如通过分割一行然后截取第 n 段字符串的方式,就没有 PowerShell 的直接使用属性名那样有确定性。
3 、PowerShell 统一的 Verb-Noun 的命令形式,以及完整的参数命名。让人明白它想干啥。
比如 tail -f 对比 Get-Content -Wait ,后者虽然打的东西多了,但更加清晰明显。(感觉就像 C 和 Java )
4 、微软的东西,风格非常统一。Linux 上面有很多系统组件是由不同的人 /组织提供的,但 Windows 上微软提供的组件占了很大的份额。这使得你用 PowerShell 去与微软的东西交互,会十分得舒服。
nicegp
2022-08-11 03:07:02 +08:00
PowerShell 敢起这个名字不是没有道理的 真的好用
Aloento
2022-08-11 03:22:11 +08:00
很好用的 ps1
ShinichiYao
2022-08-11 08:48:58 +08:00
可怜的扩展名被 Photoshop 用掉了,只能用 ps1
shakoon
2022-08-11 09:03:44 +08:00
powershell 简直不要再好用,调用系统的 api 不要太方便,而一般 bash 只能调用各种命令进行组合,复杂功能要么实现不了要么只能写出及其啰嗦的代码。
作为一个 20 年前从 vb 、asp 开始入门 Windows 编程的人表示 ps 入门毫无门槛。
DAPTX4869
2022-08-11 09:08:25 +08:00
用着马马虎虎, 不过教程是真的少
iloveayu
2022-08-11 09:15:24 +08:00
如果在 Windows 平台,目前除了 ps 也没得选啊,管道是非常好用的。
eason1874
2022-08-11 09:16:24 +08:00
“明明 bash 已经很好用了”

zsh 、python 、powershell 表示:这是我听过最好笑的笑话
shakoon
2022-08-11 09:17:08 +08:00
倒是最近我在办公室电脑遇到一个与 powershell 相关的烦人问题。
该 pc 安装了联软的桌面安全助手软件,每隔几秒钟就会调用一下 ps 执行 Get-AppxPackaqe -AllUsers ,造成较大的 cpu 占用。我已经在组策略里设置了禁用 powershell.exe 、powershell_ise.exe ,但是这玩意居然只对用户自己生效,安全助手还是能调用。如果把 AppXSvc 服务禁用,ps 还是能被调用,但是进程会卡住,过一段时间后任务管理器能看到一排 ps - -#
marcong95
2022-08-11 10:13:31 +08:00
那你倒是吐槽一下具体哪里不好用啊。。。

把各种 shell 当工具用一只前端表示,bash shell 那种奇奇怪怪的语法,每次用都要翻一下 learnxinyminute 。Powershell 的语法起码现代得多。
Tumblr
2022-08-11 10:44:58 +08:00
作为一个从 2014 或者 2015 就开始接触 PowerShell 的玩家来说,OP 要么是人笨怪刀钝,要么是无病呻吟找话题赚回复金币。
chouchoui
2022-08-11 10:50:24 +08:00
有部分程序员双标起来就是这样的,非微软出品有点什么新东西都能吹都要学,只要微软出品体验不一样了就不学了只会骂垃圾。
lovedebug
2022-08-11 10:53:30 +08:00
设计理念不一样啊,所以思维方式不一样,但是 PowerShell 真的好用啊 😂

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

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

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

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

© 2021 V2EX