You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell Core中自定义带--color参数的grep函数无输出卡住如何解决?

问题原因

你编写的原始函数没有接收并转发管道输入的内容,Git 自带的 grep 会持续等待标准输入流传入数据,因此会出现无输出、shell 冻结的现象。

解决方案

直接修改你的配置为如下写法即可,同时兼容管道输入、直接传参两种使用方式,默认携带--color=auto参数:

Set-alias _grep "C:\Program Files\Git\usr\bin\grep.exe"
function grep {
    $input | _grep --color=auto $args
}

其中$input是PowerShell函数的内置变量,会自动收集所有传递给该函数的管道输入内容,我们直接将其转发给底层的grep程序即可解决管道兼容问题。

验证方法

配置写入Microsoft.PowerShell_profile.ps1后执行. $PROFILE重载配置,测试以下两种场景均正常工作:

  • 管道调用:echo "abc" | grep a,输出的a字符带颜色高亮
  • 直接传文件调用:grep "匹配内容" test.txt,可直接对指定文件执行匹配

内容的提问来源于stack exchange,提问作者tpwo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:27:01