[Linux]Linux执行sh脚本时,出现$‘\r‘: command not found(未找到命令)"错误的解决方案[转载]
1 文由
为什么要把这么一个看似很简单的问题,还要以【转载】的方式专门用博客写出来?
主要是在编写crontab的自动化定时脚本的过程中,发现是这个错导致的自动化脚本频繁执行异常时,已经花了好几个小时了,故欲以此博文长个记性!
2021-01-08
执行1个自己编的定时脚本时,发现老报这个错:
![](https://img2020.cnblogs.com/blog/1173617/202107/1173617-20210720135520238-1355094989.png)
2021-07-20
执行一个Kettle启动脚本时,亦报此错误:
![](https://img2020.cnblogs.com/blog/1173617/202107/1173617-20210720130957630-586708486.png)
2021-07-27
执行一个MYSQL安装脚本时,亦报此错误:
![](https://img2020.cnblogs.com/blog/1173617/202107/1173617-20210727195939876-423016912.png)
2 原因
脚本是在Windows下编辑完成后上传Linux上执行的,Windows下的换行是回车符+换行符,也就是\r\n,而Linux下是换行符\n。
Linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是编码的问题。
3 解决方法
- 方案一
亲测有效
sed -i 's/\r//' <scriptName>
![](https://img2020.cnblogs.com/blog/1173617/202101/1173617-20210108232504173-1421230958.png)
- 方案二
亲测有效
yum -y install dos2unix
dos2unix <scriptFullName>
![](https://img2020.cnblogs.com/blog/1173617/202107/1173617-20210727200028983-1693328586.png)
X 参考文献
![QQ沟通交流群](https://blog-static.cnblogs.com/files/johnnyzen/cnblogs-qq-group-qrcode.gif?t=1679679148)
本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!