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

Ubuntu服务器Bash脚本报错`syntax error near unexpected token $'do\r'`求助

问题原因

你的脚本里包含了Windows风格的换行符(CRLF,即\r\n),而Linux系统使用LF(\n)作为换行符。bash会把\r当成命令的一部分执行,因此出现$'\r': command not found和语法错误。这种情况通常是因为你在Windows机器上编辑脚本后,上传到Ubuntu服务器导致的。

解决方法
  • 安装并使用dos2unix转换脚本格式:
    sudo apt update && sudo apt install dos2unix
    dos2unix cpu_bench.sh
    
  • 用sed命令直接删除所有\r字符:
    sed -i 's/\r$//' cpu_bench.sh
    
  • 用Vim编辑器修改文件格式:
    打开脚本文件:
    vim cpu_bench.sh
    
    在Vim命令模式下输入:
    :set fileformat=unix
    
    保存退出:
    :wq
    
预防措施
  • 尽量在Linux环境下编写脚本;
  • 如果使用Windows编辑器(比如VS Code),将右下角的换行符设置从CRLF改为LF后再保存脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 18:32:37