文章摘要
这篇文章讨论了在Ubuntu系统中使用`sh`脚本时出现的错误:“$’r’: 未找到命令”。“`sh`脚本”是从Windows系统粘贴过来导致的不兼容问题。文章介绍了两种解决方法:一是使用`dos2unix`工具将脚本转换为Unix格式,通过`sudo apt-get install dos2unix`在Ubuntu系统安装该工具;二是使用文本编辑器如NodePad++进行转换,操作简便。文章提醒用户在开发或转移脚本时需注意兼容性问题,避免类似错误的发生。

命令直接从windows 复制过来导致的
解决:我是unbutu系统
安装dos2unixapt-get install dos2unix执行dos2unix命令转换文件格式dos2unix sh文件名

然后再执行sh文件就执行成功了
原因
在执行shell脚本时,出现‘$’\r’: 未找到命令’错误。基本是在Windows系统编写的脚本在linux服务器中执行了。
方法一:
1,使用dos2unix工具将脚本转换为unix版本的。
linux使用yum安装如下:
[root@localhost ~]# yum install dos2unix
ubuntu安装如下:
[root@localhost ~]# sudo apt-get install dos2unix
使用dos2unix对脚本进行转换:
[root@localhost ~]# dos2unix xxx.sh
转换后提示如下:
[root@localhost ~]# dos2unix deLog.sh
dos2unix: converting file deLog.sh to Unix format …
dos2unix: converting file deLog.sh to Unix format …
再次执行脚本即可。
2,使用nodepad++等工具进行转换。
使用方法:在右下角有转为 Unix (LF)的选项进行转换后保存即可。

到此这篇关于linux执行sh脚本报错:$’\r’: 未找到命令的完美解决方法的文章就介绍到这了,更多相关linux执行sh脚本报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:Linux bash:https://www.jb51.net/article/xxx:无法执行二进制文件报错解决Linux常用命令“ll”失效或命令未找到的问题
© 版权声明
文章版权归作者所有,未经允许请勿转载。



