2026 年了,大家在 Windows 下有什么命令行环境?

1 天前
 cy18

前面用过很长一段时间 msys2+zsh ,无奈太卡了,和 windows 相性不合。 前段时间发现 msys2+fish 的速度比 zsh 快不少,但 msys2 环境下的路径问题总还是存在,另外经常碰到环境变量、Windows 和 msys2 命令冲突之类的奇奇怪怪的问题,尤其在 opencode 这类环境下。 看到有推荐 nushell ,pwsh 之类的,试用了一下,总感觉很别扭,学习成本有点高。

1727 次点击
所在节点    程序员
17 条回复
yuhangch
1 天前
pwsh+一些 alias ok 不
a33291
1 天前
nushell 还可以
bytesfold
1 天前
pwsh ,反正都是 ai 发命令
dodorz
1 天前
有 v 友暴论过:单纯做程序启动器其实用什么 shell 没区别 ,都是 starship 提示,fzf/Carapace 补全 ,zoxide/z.lua 跳转,vim 键位。我深以为然。一直用的注入了 clink 的 cmd 。
ovtfkw
1 天前
什么东西 不是默认的就能运行各种命令吗 你们说的这是啥
Jonchil
1 天前
powershell 最新版很完善了,界面和字体也都 ok 了,甚至连 curl 都 alias 了 iwr...当然 claude code 不可少……
momo1999
1 天前
Windows Terminal + cmd + clink
OneLiteCore
1 天前
1. 使用 Windows Terminal 作为终端
2. 使用 PowerShell 作为 Shell 环境
3. 常用的工具做成跨平台兼容的 Python 脚本
4. 涉及到 Unix 环境的部分则连接到家里的 Debian NAS 或者 Mac mini 上去跑

所以个人体验就是有的时候直接购置新的硬件比在软件上面折腾更容易
artiga033
1 天前
我从来没用过 msys/cygwin ,个人觉得硬在 win 上模拟 unix 就是找罪受,还不如痛快点直接 wsl 。

Windows 最地道的还是 pwsh ,而且论功能性也比大部分传统 shell 强得多。

我目前是 Windows Terminal + PowerShell 7 + starship 。

至于各种工具不兼容 windows ,那只能说他们眼里没我我眼里也没他们了。
ByteCat
1 天前
pwsh7 ,但是不习惯,不喜欢,所以日常还是在用 WSL ,如果不是工作就 macOS 了
likooo125802023
16 小时 35 分钟前
xshell 把。。。免费版勉强用用
Meursau1T
15 小时 39 分钟前
有 AI 了反而无所谓用 pwsh ,大段代码不用自己写,小规模代码基本跟 bash 一样,记个循环和 grep 语法就行
appleshan
14 小时 31 分钟前
个人觉得硬在 win 上模拟 linux 就是找罪受,还不如痛快点直接 linux 。
locietta
14 小时 20 分钟前
pwsh ,需要 unix 工具的时候 scoop 搜一下单独装,或者写个小的 bat 脚本包装一下 msys2 的命令

近几年 rust 重写也带来了不少原生支持 windows 的命令行工具( eza,ripgrep,bat 之类的),shell 环境用 cygwin 感觉越来越没啥必要了
cy18
9 小时 23 分钟前
@yuhangch #1
@Jonchil #6
@locietta #14
试了下,一些很常用的命令参数不支持,比如 rm -rf ,ls -al 这些都不支持,有什么办法么?
locietta
7 小时 49 分钟前
@cy18 这些在 pwsh 里都是其他内置命令的别名,要是不习惯可以在 pwsh 的$PROFILE 文件里配置一下把别名删了:

```
$forbid_alias_list = @("ls", "rm", "where", "cp", "diff")

foreach ($alias in $forbid_alias_list) {
Remove-Item -Path "Alias:\$alias" -Force
}
```
然后用`Set-Alias`把这些别名重新指向 msys2 里的 exe 就行了,如果想要 cmd.exe 里也能用这些命令可以弄个 bat 脚本包一下放到 path 里


可以参考我的配置:
* https://github.com/Locietta/useful-script/blob/master/config/windows/Microsoft.PowerShell_profile.ps1
* https://github.com/Locietta/useful-script/tree/master/wrappers
Jonchil
3 小时 12 分钟前
@cy18 这就要适配 windows 了,用 powershell 的命令体系就可以了,比如 remove-item ,ls 也有相应的指令。相比 linux 的字符概念,powreshell 的对象语法其实更加方便的,不用学基本就能会,除了补全有点慢以外

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

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

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

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

© 2021 V2EX