$'\r': 未找到命令 : 没有那个文件或目录之解决
摘要:场景:在windows系统下写了一个tomcat重启shell,然后上传到linux中,执行后报错:$'\r': 未找到命令 : 没有那个文件或目录。网上资料搜索后,找到原因:主要原因是shell脚本是我在windows下编辑然后上传到linux系统里执行的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。
关键词:$'\r': 未找到命令 : 没有那个文件或目录;dos格式转unix格式
场景:在windows系统下写了一个tomcat重启shell,然后上传到linux中,执行后报错:$'\r': 未找到命令 : 没有那个文件或目录。
网上资料搜索后,找到原因:
主要原因是shell脚本是我在windows下编辑然后上传到linux系统里执行的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。
所以,解决问题之道,就是把dos文件格式转换为unix格式。
方法1:使用dos2unix命令来转换。
第一步:安装dos2unix命令,如果已经安装,跳过该步骤
centos:yum install dos2unix
ubuntu:sudo apt-get install dos2unix
第二步:转换格式
dos2unix /usr/apache-tomcat/bin/restart.sh
dos2unix: converting file /usr/apache-tomcat/bin/restart.sh to Unix format ...
方法2:使用notepad++
在windows系统下使用notepad++编辑该sh文件,双击文件右下角编码区域选择"转换为UNIX格式",如下图:
然后再执行一下,ok,可以正常执行了。
双11云服务器热购推广(腾讯云):2核+4G内存+3M带宽=688元/3年(仅限新用户)
除非注明,文章均为草根java原创,转载请注明本文地址:
https://www.caogenjava.com/detail/65.html
上一篇:POI合并单元格时CellRangeAddress类提示过时之解决
下一篇:彻底解决winrar弹出广告的恶心问题
相关链接
热门排行榜
-
1微信开发errcode:45015,errmsg:response out of time limit之完美解决
-
2archive is not a ZIP archive之解决
-
3火狐每次启动都弹出迅雷提示下载openh264之解决
-
4Eclipse中提示Could not find the main class之解决
-
5XML document structures must start and end within the same entity报错解决
-
6以小米6为例图说安卓手机如何安装谷歌四件套
-
7在微信中调用外部浏览器实现文件下载之解决
-
8U盘安装CentOS 7终极方案,简单有效
-
9POI合并单元格时CellRangeAddress类提示过时之解决
-
10java web项目代码不报错但是项目左上角有个红叉之解决