linux执行sh报错:$’\r’: 未找到命令的解决
在配置服务器的时候,直接使用小组环境内部的shell文件执行自定义的命令的时候出现下列错误:
[root@VM-0-12-centos apps]# sh ms_api.sh
m_api.sh:行2: $'\r': 未找到命令
m_api.sh:行5: $'\r': 未找到命令
m_api.sh:行8: $'\r': 未找到命令
问题原因:
ms_api.sh
这个是shell文件是我直接从gitlab的项目里面拉去的,经过询问知道此文件是在window环境
下面编写的,而linux环境在解析shell的时候没有忽视文件的换行符\r
。因此在执行的时候出现的问题。
问题解决:
使用如下命令重构文件再执行文件即可,
[root@VM-0-12-centos apps]# yum install dos2unix
[root@VM-0-12-centos apps]# dos2unix m_api.sh