Cheug's Blog

当前位置:网站首页 / shell / 正文

shell脚本执行报错 syntax error near unexpected token `$'do\r''

2024-05-16 / shell / 194 次围观 / 0 次吐槽 /

通常是由于文件中的行结束符不正确导致的。可能是你的脚本文件是在Windows环境中创建的,导致文件使用了Windows的行结束符(\r\n),而不是Unix/Linux的行结束符(\n)。

要修复这个问题,你可以使用以下几种方法之一:

方法 1: 使用 dos2unix 工具

dos2unix 是一个工具,可以将文件的行结束符从 Windows 风格转换为 Unix 风格。你可以通过以下步骤安装和使用它:

  1. 安装 dos2unix

sudo apt-get install dos2unix

  2.将脚本文件转换为 Unix 格式:

dos2unix shell.sh

方法 2: 使用 sed 命令

你可以使用 sed 命令来移除 Windows 风格的行结束符:

sed -i 's/\r$//' shell.sh

方法 3: 使用文本编辑器

你可以使用支持不同行结束符格式的文本编辑器(如 VSCode、Notepad++、Sublime Text)打开文件并更改行结束符。

例如,在 VSCode 中:

  1. 打开文件 upload_file.sh

  2. 右下角会显示当前的行结束符格式,点击它。

  3. 选择 LF(Unix 风格)作为行结束符格式。

  4. 保存文件。


Powered By Cheug's Blog

Copyright Cheug Rights Reserved.