[Linux]Linux执行sh脚本时,出现$‘\r‘: command not found(未找到命令)"错误的解决方案[转载]

2023-05-16,,

1 文由

为什么要把这么一个看似很简单的问题,还要以【转载】的方式专门用博客写出来?

主要是在编写crontab的自动化定时脚本的过程中,发现是这个错导致的自动化脚本频繁执行异常时,已经花了好几个小时了,故欲以此博文长个记性!

2021-01-08 执行1个自己编的定时脚本时,发现老报这个错:

2021-07-20 执行一个Kettle启动脚本时,亦报此错误:

2021-07-27 执行一个MYSQL安装脚本时,亦报此错误:

2 原因

脚本是在Windows下编辑完成后上传Linux上执行的,Windows下的换行是回车符+换行符,也就是\r\n,而Linux下是换行符\n。

Linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是编码的问题。

3 解决方法

方案一

亲测有效

sed -i 's/\r//' <scriptName>

方案二

亲测有效

yum -y install dos2unix
dos2unix <scriptFullName>

X 参考文献

Linux执行.sh文件时,出现$‘\r‘: command not found错误解决方案 - CSDN

[Linux]Linux执行sh脚本时,出现$‘\r‘: command not found(未找到命令)"错误的解决方案[转载]的相关教程结束。

《[Linux]Linux执行sh脚本时,出现$‘\r‘: command not found(未找到命令)"错误的解决方案[转载].doc》

下载本文的Word格式文档,以方便收藏与打印。