Windows下用curl+bash安装OLM时出现$'\r'命令未找到错误怎么办?
解决OLM安装脚本执行时的$'\r'语法错误问题
问题根源
你遇到的$'\r' command not found和语法错误,本质是脚本的换行符格式不兼容:Windows系统使用CRLF(\r\n)作为换行符,而类Unix系统(bash依赖的环境)只识别LF(\n),导致bash把多余的\r当成命令的一部分,从而报错。
解决方案
以下是几种直接可行的解决办法:
1. 下载脚本并转换换行符后执行
- 先单独下载安装脚本:
curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.22.0/install.sh > install.sh - 转换换行符(如果用Git Bash或WSL,可直接用
dos2unix):dos2unix install.sh - 若没有
dos2unix,用sed命令替换掉\r:sed -i 's/\r$//' install.sh - 最后执行脚本:
bash install.sh v0.22.0
2. 直接在管道中过滤掉\r字符
修改原命令,在curl和bash之间加入tr命令去除多余的回车符:
curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.22.0/install.sh | tr -d '\r' | bash -s v0.22.0
3. 调整终端环境设置
- 如果是在Windows原生CMD/PowerShell中操作,建议切换到WSL2或Git Bash这类类Unix终端环境,从根源避免换行符自动转换。
- 若使用Git Bash,执行以下命令关闭自动换行符转换:
git config --global core.autocrlf false
内容的提问来源于stack exchange,提问作者Frederico23
相关产品推荐
相关产品推荐

