问题出现
开发的时候在Windows环境中打包了一个rpm包,放到CentOS去执行的时候,当运行start.sh文件的时候,一直报错 “No such file or directory”。
问题原因
Linux和Windows文本文件的行结束标志不同。在Linux中,文本文件用”/n”表示回车换行,而Windows用”/r/n”表示回车换行。
有时候在Windows编写shell脚本时需要注意这个,否则shell脚本会报”No such file or directory”或”command not found line x”之类的错误。
解决办法
- 在CentOS中,直接使用vi编辑器重新编写shell脚本
- 使用dos2unix工具将DOS格式文本文件转换成Unix格式或Linux格式