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 风格。你可以通过以下步骤安装和使用它:
安装
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 中:
打开文件
upload_file.sh
。右下角会显示当前的行结束符格式,点击它。
选择
LF
(Unix 风格)作为行结束符格式。保存文件。
- 上一篇:shell批量上传文件到远程主机
- 下一篇:go远程ssh登录并执行shell命令
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.