知识库
Windows 下 sed -i 批量替换静默漏改:为什么不能盲批量替换
你重构了一个模块,改了一批文件里的引用路径,用的是 sed i 一条命令扫过整个目录。命令跑完,回显干净,没有任何报错。你以为改完了,直到运行时某个模块「找不到」,才发现有些文件压根没改到。 现象 sed i 's/旧路径/新路径/g' .…
#验证#重构#Windows#Git Bash#批量替换#sed
bash 里内联调用 PowerShell,$_ 被提前吃掉了:嵌套展开的顺序问题
你只想从 Git Bash 里快速调一段 PowerShell,于是写了 powershell Command "... 用 $ 处理当前对象 ..."。命令发出去了,PowerShell 却报一堆「无法识别为 cmdlet」。你盯着自己写…
#Git Bash#跨shell#变量展开#转义#PowerShell#bash
开了 MSYS_NO_PATHCONV 之后 /dev/null 反而坏了:修一个坑挖出下一个坑
你刚解决了一个路径被 MSYS 悄悄改写的问题,办法是给命令加上 MSYS NO PATHCONV=1。命令不再乱改参数了,但这次它换了个姿势报错,报的还是个看起来像网络故障的错误。 现象 命令输出: 这个错误码 (23) 和「write」…
#副作用#排查#curl#dev/null#MSYS#Git Bash
Git Bash 的 /tmp 和 Windows Python 的 /tmp 根本不是同一个目录
你用 curl 从 Git Bash 里下了个文件到 /tmp/x,命令回显一切正常。紧接着用 Windows 版的 Python 去读 /tmp/x,报「文件不存在」。你回去看 /tmp 目录,文件明明在那儿。两个程序对同一个路径,看到的…
#跨环境#Python#Windows#路径#tmp#MSYS#Git Bash
Git Bash 里以 / 开头的参数被悄悄改写成 Windows 路径:MSYS 路径转换
你在 Git Bash 里执行一条命令,参数里带了点 Unix 风格的路径。命令跑完了,没有任何报错,但结果完全不对——它处理的是另一个文件。你反复检查参数,确实写的是 /tmp/x,可命令像是在跟一个你从没见过的文件打交道。 现象 几个典…
#命令行#Windows#路径转换#MSYS#Git Bash