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

解决Windows下PowerShell执行make后上箭头输出[A的问题

解决PowerShell运行make(bash作为shell)后上箭头失效的问题

临时急救法

如果已经出现按上箭头输出[A的情况,不用重启PowerShell,直接在当前窗口执行:

stty sane

若系统没有stty命令,可执行:

[Console]::ResetColor(); $Host.UI.RawUI.FlushInputBuffer()

执行后就能立刻恢复上箭头调取历史命令的功能。

根治方法1:给bash添加退出自动重置规则

打开bash的配置文件(比如~/.bashrc),添加一行:

trap 'stty sane' EXIT

这行代码会让bash每次退出时自动重置终端属性,不管是被make调用还是单独启动,都不会破坏PowerShell的终端设置。

根治方法2:修改make目标命令

如果不想修改bash全局配置,就在每个调用bash的make目标末尾追加stty sane。比如原make目标是:

build:
    bash -c "npm run build && cp dist/* ../server"

修改为:

build:
    bash -c "npm run build && cp dist/* ../server; stty sane"

让bash执行完任务后主动重置终端状态。

根治方法3:切换make的默认shell为PowerShell

如果你的命令兼容PowerShell,直接把make的默认shell换成powershell,从根源避免终端设置冲突。在makefile开头添加:

SHELL := powershell.exe
.SHELLFLAGS := -NoProfile -Command

之后make会用PowerShell执行所有命令,不会再出现上箭头失效的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:02:10