V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pepi
V2EX  ›  程序员

PowerShell 这种强大的命令行工具,为什么使用的人很少?

  •  
  •   pepi · 2022-08-30 22:15:53 +08:00 · 14557 次点击
    这是一个创建于 797 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉很少是自身圈子原因。 我个人特别系统使用 WindowsTerminal 中启动 PowerShell ,git 高亮提示使用 starship 但是 powershell 中的很多设定让人吐槽 例如:curl 是个别名,正常使用 curl 这个工具的参数会报错,此时只能灰溜溜的开启 dos 去请求数据。 还有重定向编码为 UTF16 ,设计 UTF8 颇为复杂,为此逛了 StackOverflow 不少帖子

    137 条回复    2022-09-18 13:58:32 +08:00
    1  2  
    respawn
        1
    respawn  
       2022-08-30 22:26:05 +08:00
    发力晚
    合适的场景下有更成熟的替代品
    cweijan
        2
    cweijan  
       2022-08-30 22:26:43 +08:00
    主要还是不兼容吧, 使用 cmd 的一些常用命令会报错, 学习成本高, 启动又慢..
    AllenHua
        3
    AllenHua  
       2022-08-30 22:30:42 +08:00
    大多数人习惯的是 Linux 命令行终端,对 Linux 各种命令熟悉一些。

    有一说一,你这正文并没有让人感受到 PowerShell 有多强大……
    jim9606
        4
    jim9606  
       2022-08-30 22:31:03 +08:00
    主要是这玩意绝大多数时候等于 windows 限定,尽管现在跟着.NET 一起跨平台了,winserver 这边运维一般用 GUI 或者 WinRM ,powershell 不是必须,如果自动化的事情涉及复杂结构化消息处理,用 python 更主流一些。

    至于 curl 问题,还是挖墙脚意味居多,换成 curl.exe 就是,正经 ps 脚本用 Invoke-WebRequest 不用别名。
    musi
        5
    musi  
       2022-08-30 22:34:23 +08:00
    你这贴的内容并没有让我觉得 PowerShell 很强大,甚至让谁给我觉得 PowerShell 有很高的上手成本,有这时间我直接用 linux 的命令行不香么,学完了还能干点运维的活
    zhuangzhuang1988
        6
    zhuangzhuang1988  
       2022-08-30 22:34:34 +08:00
    自带微软原罪.
    liuxu
        7
    liuxu  
       2022-08-30 22:36:12 +08:00
    有点去重庆开火锅店的意思
    pepi
        8
    pepi  
    OP
       2022-08-30 22:36:51 +08:00
    @musi 但是的确很强大
    Damn
        9
    Damn  
       2022-08-30 22:37:51 +08:00
    @zhuangzhuang1988 ms 的东西对 linux 用户来说就是中世纪的 witch 。。
    germain
        10
    germain  
       2022-08-30 22:38:02 +08:00
    PowerShell 使用的人很多,但不是搞开发的在用。大多数场景都是 infra,devops 在用。
    chengliang
        11
    chengliang  
       2022-08-30 22:41:33 +08:00
    因为没有环境吧,我们公司的工具都是基于 powershell 的,所以反而用 bash 的很少
    pluvet
        12
    pluvet  
       2022-08-30 22:47:39 +08:00   ❤️ 1
    太难用了……
    wxf666
        13
    wxf666  
       2022-08-30 22:50:49 +08:00   ❤️ 1
    @pepi 相比 bash 等 shell ,powershell 交互使用稍显繁琐吧(命令太长了?)

    写脚本应该比 bash 强。但这方面 python 也很强

    我没搞懂 powershell 定位
    pepi
        14
    pepi  
    OP
       2022-08-30 22:56:25 +08:00
    @wxf666 如此看来,定位确实很尴尬
    wxf666
        15
    wxf666  
       2022-08-30 22:57:11 +08:00
    @chengliang 想问一下,你们以交互式使用 powershell 多吗?还是多作为脚本使用?
    vanton
        16
    vanton  
       2022-08-30 23:02:06 +08:00
    相对 linux 和 bsd 下的各种 sh ,powershell 太难用了。
    配置也很麻烦,各种支持还很初级。
    wdhwg001
        17
    wdhwg001  
       2022-08-30 23:03:59 +08:00   ❤️ 73
    Because-I-Believe-PowerShell-Commands-Are-Way-Too-Long-And-Unnecessarily-Verbose-That-I-Definitely-Hate-To-Type-Any-Of-Them-For-The-Sake-Of-My-Finger-Health-And-Keyboard-Durability
    iloveayu
        18
    iloveayu  
       2022-08-30 23:06:08 +08:00
    不搞 Windows 相关就远离这玩意,如果是桌面操作系统用,用户操作层面的那种用到什么查什么就完事儿。
    干活儿还是 unix 那套通用性强。
    lovepplforever
        19
    lovepplforever  
       2022-08-30 23:18:49 +08:00 via iPhone
    不好用
    zhangxzh
        20
    zhangxzh  
       2022-08-30 23:21:20 +08:00 via Android
    命令太长不好记
    makelove
        21
    makelove  
       2022-08-30 23:21:31 +08:00   ❤️ 4
    powershell 这种东西一看风格就是太微软了,笨重油腻全都要的感觉。你要说比 bash 强大么是的,但命令行设计方便使用是首位,至于强大脚本功能复杂了谁还用 shell 脚本语言写
    Bingchunmoli
        22
    Bingchunmoli  
       2022-08-30 23:23:13 +08:00 via Android
    很强但学习成本高
    xyjincan
        23
    xyjincan  
       2022-08-30 23:36:57 +08:00 via Android
    丑拒
    dingwen07
        24
    dingwen07  
       2022-08-30 23:46:25 +08:00 via iPhone
    作为 shell 太麻烦
    scripting ?那我为什么不用 python
    Helsing
        25
    Helsing  
       2022-08-30 23:54:21 +08:00 via iPhone
    因为难用,会用命令行的用 bash 不香吗,干嘛要用 PowerShell ,而且它的反斜杆和 bash 是反的,看着难受,用着也难受。敲命令反斜杆老是敲错,然后看着爆错信息改,难用的一批。
    sutra
        26
    sutra  
       2022-08-30 23:55:09 +08:00
    @wdhwg001 真相了,太形象了吧也。
    cnbatch
        27
    cnbatch  
       2022-08-30 23:57:03 +08:00
    小提示,在 PowerShell 7.x ,curl 和 wget 已经不再是 Invoke-WebRequest 的别名了。
    ColorfulBoar
        28
    ColorfulBoar  
       2022-08-31 00:02:12 +08:00 via iPhone   ❤️ 6
    有人喷了 10 年命令长都不愿意花 3 秒(其中 67.8%的时间用于启动 PowerShell )输入一次 ls 试试(与此同时跟它说 git 设计得蠢就嘲笑你连 alias 都不会设置)
    有人喷了 10 年 Windows 文件名不区分大小写,却坚信 PowerShell 命令是大小写敏感的
    所以你觉得这玩意用的人少跟技术有 1%的关系?
    873792861
        29
    873792861  
       2022-08-31 00:07:32 +08:00
    在 windows 写 powershell 脚本很多时候要引用.net 的东西才能完成功能,比如截屏,所以稍微复杂的东西还是使用 python 比较方便,毕竟有很多便利的库。
    wxf666
        30
    wxf666  
       2022-08-31 00:15:17 +08:00
    @ColorfulBoar 你能给出一些交互式下,大家常用的,powershell 明显比 bash 短的例子吗?
    dcsuibian
        31
    dcsuibian  
       2022-08-31 00:18:46 +08:00
    因为用 Linux 不得不学 shell ,而用 Win 用图形化界面直接上手
    所以熟悉命令行的,熟悉的是 Linux 的 shell ,而不是 Windows 的 shell
    dcsuibian
        32
    dcsuibian  
       2022-08-31 00:20:08 +08:00
    shell 和操作系统高度绑定
    在 win 下直接用 linux 的做法经常会很难受的,劝你还是老老实实学两套
    ronman
        33
    ronman  
       2022-08-31 00:25:03 +08:00 via Android
    @xyjincan 虽然但是 shell 和 terminal 是两种东西吧
    ysc3839
        34
    ysc3839  
       2022-08-31 01:05:34 +08:00 via Android
    我自己选择 MSYS2+zsh ,主要是不想学两套东西,以及 Unix shell 的各种命令普遍较短,好记。
    statumer
        35
    statumer  
       2022-08-31 01:21:51 +08:00   ❤️ 17
    @ColorfulBoar
    创建个符号链接应该怎么做来着,New-Item -Type SymbolicLink -Path \a\b\c\d -Target \e\f\g\h ,在 bash 里只需要 ln -s foo bar, 怎么回事呢?
    想 grep 过滤下输出该怎么做来着, | Out-String -stream | Select-String -Pattern "foo"
    更别提 Windows 到现在还没有个能用的包管理器,win-get 和 apt 比起来是个残废,让社区很难贡献命令行工具所以生态极烂
    有没有一种可能是 Powershell 真的很难用,而不是因为大伙都是低水平程序员迫害你的 ps 哥哥呢?
    PrinceofInj
        36
    PrinceofInj  
       2022-08-31 02:26:51 +08:00 via Android
    @statumer bash 里面打的字比实际上 PS 里面打的字少不了多少。PS 按 tab 都补全了,如果在 vscode 里面用的话需要打的字更少。可能就比 bash 多四五个字母。bash 等学习成本太高,经常遇到不太熟悉的就得查一下应该怎么做。ln 是啥意思? ls 是啥意思?为啥有些系统还能打个 ll 出来? du 是啥意思?为啥 dd 又完全跟 du 不是一码事儿呢?那 df 跟他俩又有啥关系?
    wxf666
        37
    wxf666  
       2022-08-31 03:12:05 +08:00   ❤️ 2
    @PrinceofInj 是这样吗?(我用 35 楼的试试)

    1. 软链接

    - `new-it<tab> -t<tab> s<tab> -t<tab> foo -p<tab> bar`(按 30 次)
    - `ln -s foo bar`( 13 )

    2. 过滤

    - `| out-s<tab> -<tab> | sel<tab>-s<tab> -<tab> foo`( 28 )
    - `| grep foo`( 10 )
    geelaw
        38
    geelaw  
       2022-08-31 03:54:53 +08:00   ❤️ 3
    @statumer
    @wxf666
    #35 #37

    New-Item -Type SymbolicLink -Path foo -Target bar
    的可能缩写是
    ni -ty s foo -ta bar

    我不太确定为什么你想要把对象转换为字符串再过滤,这样会丧失很多数据。

    过滤字符串可以缩写为

    |sls foo

    当然你也可以用 grep 和 find ,都是 Select-String 的意思。

    过滤对象可以缩写为

    |? 条件

    你也可以用 where 。

    当然,好的品位是不去比较这种天花乱坠的写法。另外 grep (可执行文件)和 ln (可执行文件)都不是 shell/bash 的一部分。
    wanacry
        39
    wanacry  
       2022-08-31 04:01:24 +08:00 via iPhone
    名字很强大
    wxf666
        40
    wxf666  
       2022-08-31 04:12:24 +08:00   ❤️ 1
    @geelaw 我不熟悉 powershell ,只是印象中命令都很长

    所以直接拿 35 楼的命令,在 powershell 一点点试哪里可以 <tab>

    如果都像你说的这么简短,倒真的可以试着学学


    > 好的品位是不去比较这种天花乱坠的写法

    我认为 交互式 shell 应该怎么简洁快速怎么来。脚本才重视可读性


    > 另外 grep (可执行文件)和 ln (可执行文件)都不是 shell/bash 的一部分

    这应该是 Linux 的哲学,一个 shell 就该当好用户与系统交互、胶水语言的角色,不是由它实现所有功能
    hez2010
        41
    hez2010  
       2022-08-31 07:24:37 +08:00 via Android   ❤️ 2
    @statumer 你这举的例子跟 bash 有啥关系啊,只是在调用系统里的可执行文件而已。
    Linux 上用 PowerShell 照样可以直接 ln -s foo bar 和 grep
    Howlaind
        42
    Howlaind  
       2022-08-31 07:30:51 +08:00 via Android   ❤️ 2
    @873792861 为什么 PowerShell 引用 .Net 库是不方便,而 Python 引用库就是方便呢?
    jedihy
        43
    jedihy  
       2022-08-31 08:03:11 +08:00
    devops 领域用的不少吧。至少我们组维护的 msquic 就在用 powershell 来跑跨平台的 CI/CD 。
    zhuangzhuang1988
        44
    zhuangzhuang1988  
       2022-08-31 08:11:33 +08:00   ❤️ 3
    @Damn 就说微软自带原罪了, powershell 对我来说 最大好处不是自动补全, 不是面向对象, 而是可以单步调试, 好几次运行别人的 shell 抓瞎 要么就 echo 大法.
    powershell 就直接断点调试就好了
    l4ever
        45
    l4ever  
       2022-08-31 08:24:36 +08:00
    还不如砍掉学 linux 直接用 python
    非要自己搞个 shell, 忒
    YepTen
        46
    YepTen  
       2022-08-31 08:30:22 +08:00
    因为用不到,用到了自然就去学了。不搞 IT ,谁闲的去学 Linux 。
    Cbdy
        47
    Cbdy  
       2022-08-31 08:37:14 +08:00 via Android
    其实并不强大
    userforg2021
        48
    userforg2021  
       2022-08-31 08:47:49 +08:00
    @hez2010 虾仁猪心!虾仁猪心!
    Dragonphy
        49
    Dragonphy  
       2022-08-31 08:51:18 +08:00
    命令太 TM 长了,谁记得住啊
    sjzjams
        50
    sjzjams  
       2022-08-31 08:56:05 +08:00
    @respawn 会不会是你不用??
    zjqzxc
        51
    zjqzxc  
       2022-08-31 08:58:42 +08:00
    如果拿 powershell 与 python 、bash 比较的话,我个人觉得它更接近 python 而不是 bash 。但是目前的问题是,调用 dot net 组件的文档太匮乏了。前段时间拿 poweshell 调用 dot net 的组件写了个 GUI 程序,官方文档都找不到;当然也有好处,用户可以直接看到源码避免终端用户不信任二进制文件;以及可以在终端用户电脑上直接修改程序而不用安装开发环境
    thetbw
        52
    thetbw  
       2022-08-31 09:10:13 +08:00
    因为我真的是只用个命令?
    Narcissu5
        53
    Narcissu5  
       2022-08-31 09:26:38 +08:00
    @PrinceofInj 有没有想过 oh-my-zsh 有更强大的自动补完,有没有想过 ps 的脚本阅读性极差,有没有想过基于.net 的 ps 自己把路走窄了
    weivi
        54
    weivi  
       2022-08-31 09:49:34 +08:00
    割裂感
    66beta
        55
    66beta  
       2022-08-31 09:53:37 +08:00
    你说他是命令行,那我只能说难用的一比,正常人都会用 Windows Terminal+WSL

    如果你说他是一套 windows 官方的工具,那么我没资格发言
    dousha99
        56
    dousha99  
       2022-08-31 09:57:17 +08:00
    因为在管道中传递的是对象而不是文本流,这点就让人感觉很不安。对于熟悉旧一套命令行(无论是 cmd 也好还是 *nix 下的 shell 也好)对文本流进行操作的人而言,这反而是增加了心智负担。

    毕竟 shell 的核心用途就是粘东西。如果说 *nix 下的各种 shell 是各种品牌的强力胶;那么 PowerShell 就是量子粘合机(不)。后者或许确实比点胶水来得更快更牢固,但是它也带来了更复杂的概念和操作方式。或许确实有一些需求就是需要粘合机来搞定,但大多数场景下,点一点 502 足矣。
    lovedebug
        57
    lovedebug  
       2022-08-31 09:59:28 +08:00
    我们做的 office365 平台上的产品,用 powershell 比较多,确实很强大
    james122333
        58
    james122333  
       2022-08-31 10:06:42 +08:00
    @zhuangzhuang1988

    shell 可以单步调试 前提有一定理解
    allgy
        59
    allgy  
       2022-08-31 10:09:57 +08:00
    因为废话多,用来起罗嗦
    fpure
        60
    fpure  
       2022-08-31 10:10:46 +08:00
    对于 shell 来说命令太长了
    salmon5
        61
    salmon5  
       2022-08-31 10:12:35 +08:00
    根本原因是价值不大,面试不面这个
    libook
        62
    libook  
       2022-08-31 10:24:33 +08:00
    普通用户来说:
    Windows 的看家本领就是可视化操作,本身已经能覆盖大多使用场景了,只有可视化满足不了的才会考虑用指令。
    另外很多流行的指令工具都是面向 Linux/Unix 来开发的,虽然不少可以移植到 PowerShell 里,但可能会和主流用法有区别。
    再加上 WSL 搞得挺好了,不是必须用 PowerShell 的话我一般会用 WSL 。

    专业的 Windows 运维者来说:
    其实已经在高效利用 PowerShell 的,只不过比较低调而已。
    newmlp
        63
    newmlp  
       2022-08-31 10:25:42 +08:00
    @wxf666 你这 bash 就是调用了个可执行程序,ps 在 Linux 也能这么调用可执行程序啊
    wenzhoou
        64
    wenzhoou  
       2022-08-31 10:27:21 +08:00
    shell 调试用 set -x
    习惯还挺好用
    codingBug
        65
    codingBug  
       2022-08-31 10:31:50 +08:00 via Android
    那我借这里分享一个 powershell 插件吧

    https://github.com/aliuq/Register-Completion
    TcDhl
        66
    TcDhl  
       2022-08-31 10:32:39 +08:00
    有一堆日常的固定命令, 日常连七八台服务器操作
    用" PowerShell 这种强大的命令行工具 "怎么不上火
    Torpedo
        67
    Torpedo  
       2022-08-31 10:39:50 +08:00
    想起来昨天在知乎上看到的一个回答: https://www.zhihu.com/question/20619659/answer/2650127578
    Curtion
        68
    Curtion  
       2022-08-31 10:43:18 +08:00
    太长了
    wxf666
        69
    wxf666  
       2022-08-31 10:44:17 +08:00
    @newmlp 那我为何不直接用自带的 bash zsh ,而要去安装个 ps 再打同样的命令呢?

    现在就是在问,ps 对于交互式操作,自身的什么优越性,起到了什么明显的优化作用,以至于能甩 bash zsh 几条街?
    bleaker
        70
    bleaker  
       2022-08-31 10:52:58 +08:00
    我写 shell 不是图它功能强,而是图它一简单方便随便造,二分部广泛兼容好。真的需要很复杂脚本的场景,Python/Ruby 乃至这几年的 Node 都是很好的选择

    Powershell 两点好处都不占,就算不考虑 MS 背景,也不会火的
    iSecret
        71
    iSecret  
       2022-08-31 10:55:37 +08:00
    每次是用 Power Shell 格外的出戏。
    bzw875
        72
    bzw875  
       2022-08-31 10:56:43 +08:00
    我们公司内部电脑禁止了 powershell
    nothingistrue
        73
    nothingistrue  
       2022-08-31 10:57:43 +08:00
    Powershell 跟 shell 的区别,与 Java 和 Javascript 的区别类似。一有门槛不是你想用就能用的。二真得大多数场景下没必要用。三最要命,等你达到了门槛,并且还有需要的场景的时候,Python 比 Powershell 更好用。
    ZRS
        74
    ZRS  
       2022-08-31 10:58:35 +08:00 via iPhone
    codingBug
        75
    codingBug  
       2022-08-31 11:04:06 +08:00 via Android
    我发现好多人对 powershell 有误解,再说一些,我本机用 powershell ohmyposh ,服务器用 zsh ohmyzsh ,目前来看,两者日常体验基本可以达到一致

    https://zhuanlan.zhihu.com/p/537991323
    jiejiss
        76
    jiejiss  
       2022-08-31 11:12:05 +08:00 via Android
    @zhuangzhuang1988 在 VSCode 里,同样有给 bash 下断点 /单步调试的插件。
    zhuangzhuang1988
        77
    zhuangzhuang1988  
       2022-08-31 11:18:56 +08:00
    @jiejiss 好吧知识落伍了我学习的时候没有
    powershell 开始伴随着 系统发布时候就自带了 ise 可以调试 自带自动补全
    brucmao
        78
    brucmao  
       2022-08-31 11:21:47 +08:00
    @codingBug ohmyposh 启动有点慢,我换 https://starship.rs/
    weak
        79
    weak  
       2022-08-31 11:22:19 +08:00 via iPhone
    命令行太长了 记不住
    Felldeadbird
        80
    Felldeadbird  
       2022-08-31 11:30:13 +08:00
    all in win 其实 powershell 挺好用。但是在命令行便利上,没有做到 linux 和 macos 的舒服。我觉得更重要是一个操作系统带两套命令行的玩意,是不是有点不好? cmd 和 powershell 。
    lxml
        81
    lxml  
       2022-08-31 11:38:36 +08:00
    开局输给了 linux 的 bash 就是原罪,微软出品更是原罪
    codingBug
        82
    codingBug  
       2022-08-31 11:39:50 +08:00
    @brucmao starship 好像看起来很棒
    MonoLogueChi
        83
    MonoLogueChi  
       2022-08-31 11:42:35 +08:00 via Android
    虽然我一直在用 powershell ,但是我不推荐别人去用。先说这玩意强,确实强,必须先吹一波管线和类型,powershell 是有类型的,而不是像其他 shell 一样,只是字符串,这个东西用过才能理解。
    再说为啥不推荐别人用,先说从 powershell 本身来说,Windows ,混乱,先有 cmd ,再有 windows powershell(5),还有 powershell core(6 7),而且这 3 个东西还必须共存,有些东西不通用,没有相关经验的话,根本搞不清什么时候该用哪个。linux ,需要额外安装 powershell 。再来说 powershell 语法,前面也说了这玩意强,但是强是有代价的,命令多,语法复杂,而且是有类型的,这样就造成了一个问题,简单命令也会特别长,特别啰嗦,如果不能理解 powershell 的设计理念,入门就会非常难
    AoEiuV020CN
        84
    AoEiuV020CN  
       2022-08-31 11:57:18 +08:00
    总是给我“不好用”的感觉,
    cmd 能解决的还是优先 cmd ,
    datou
        85
    datou  
       2022-08-31 12:07:24 +08:00
    powershell 最扯淡的是很多大驼峰命令
    lolizeppelin
        86
    lolizeppelin  
       2022-08-31 12:43:14 +08:00
    @MonoLogueChi

    shell 搞那么复杂还不如用正儿八经的编程语言......powershell 这种不上不下的非常尴尬
    除非要用什么 windows 相关接口 python 写起来太麻烦..否则不如写 python.
    tankren
        87
    tankren  
       2022-08-31 12:51:25 +08:00
    要么 bat 要么 python 吧
    nicevar
        88
    nicevar  
       2022-08-31 14:01:28 +08:00
    主要是 psh 没有太好的被迫学习环境,不像 bash ,熟悉 linux 必须得学,用 MacOS 装逼也得学,但是用 Windows 大多情况用 bat 就行了,psh 就没什么太大必要。
    laqow
        89
    laqow  
       2022-08-31 14:01:40 +08:00
    设计个语言完全不考虑打字方不方便,大部分右键需要解决的问题 cmd 就能解决的,系统很霸道地把 shift 右键的 cmd 换成 powershell
    cosette
        90
    cosette  
       2022-08-31 14:29:50 +08:00
    出现的晚了,“命令行”跟*nix 就和“图形界面”跟 windows 一样,硬要说 win 上的命令行,普及度更广的应该是批处理,也是靠各种脚本流行的。

    因此即便在 linux 上用命令行完成某些事情要一长串让人眩晕的管道命令,但大家已经学会了忍受,因为你用不好是你学艺不精。举例来说,在 linux 上的各种命令里使用 正则表达式 就让人头疼甚至心生恐惧,书写风格都不是统一的,捕获分组到底是 `()` 还是 `\(\)` ,哪些情况下要转义,让人迷惑。但你不能抱怨这些,因为从历史考察某些命令工具可能比很多人出生的要早,已经有极多的用户,从另一个层面来讲,*nix 有极浓的 geek (工程师)文化,“你要是觉得不好用,你自己去写一个工具”,这源自于*nix 社区在极早期发展的时候的文化,所以大家热衷于写各种脚本,造各种轮子,一方面锻炼自己的能力融入这个“geek”文化圈子,另一方面也是在方便自己。

    说回 powershell ,完成某些任务确实很方便,而且命令、参数的语义性很强(看起来很长),但网上没那么多的轮子,如果某项工作有其他熟悉的替代方案,那懒得去学。
    mijazz
        91
    mijazz  
       2022-08-31 14:32:55 +08:00
    拖 OP 的福, 我今天安装了个 powershell 7

    像#30 - #41 左右讨论的一样, powershell 自己的 cmdlet 不可以说设计得不好, 是我的思维已经被 `bash` 或者 `zsh` 这些同类固化了.

    我不会想着进目录就 Get-Children, 虽然他也有`ls`的 alias, 但是写 Script 还是得用全称.

    我感觉下来没什么可以吐槽的点, 毕竟也是个啥都能干的 shell, 但是它自带的 alias 也太奇怪了, Get-Children -> `dir`, `ls`我都能理解, 两个兼容性的字段, 但是`gci`是什么操作...不应该是`gcd`才顺口嘛...

    [cmdlet alias 对照]( https://www.pdq.com/powershell/)
    stoluoyu
        92
    stoluoyu  
       2022-08-31 14:33:53 +08:00
    大部分用命令行的人肯定要会用 linux ,没动力再学一套语法了,我也就用到的时候偶尔现查一下。
    Slurp
        93
    Slurp  
       2022-08-31 15:16:34 +08:00
    作为一个日常使用的 Shell ,先把启动速度弄好再说吧。

    我 Zsh 装一堆插件照样可以 0.09 秒启动。PowerShell 上来就 2 秒。
    rrZ2C
        94
    rrZ2C  
       2022-08-31 16:08:06 +08:00
    我是因为以前工作环境已 Linux 为主, 习惯了

    我看其他同事也更是无所谓 cmd 还是 window terminal
    11232as
        95
    11232as  
       2022-08-31 16:10:39 +08:00
    习惯了 UNIX 那套思想后用不习惯 powershell
    rming
        96
    rming  
       2022-08-31 16:11:05 +08:00
    我能问下我这个是怎么回事么?虽然我不用
    ryansvn
        97
    ryansvn  
       2022-08-31 16:12:32 +08:00
    @cweijan 对,很多 cmd 的命令参数都不支持,老是报错,就很讨厌了
    yanue
        98
    yanue  
       2022-08-31 16:25:41 +08:00
    跟 linux shell 不是一个级别的
    WOLFRAZOR
        99
    WOLFRAZOR  
       2022-08-31 18:21:53 +08:00
    没力气再学多一套了(用到再现查指南),习惯了 UNIX 的 terminal 之后用这个很不习惯
    tanek
        100
    tanek  
       2022-08-31 18:32:29 +08:00
    @ColorfulBoar 可能是还在找上一次打开窗口的 history 呢。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3753 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:27 · PVG 18:27 · LAX 02:27 · JFK 05:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.