在Linux上启动服务,文件明明存在却提示No such file or directory错误

在windows下面编辑好了启动文件,上传到服务器后,明明文件在目录中,可是启动文件的时候却提示No such file or directory。反复检查了启动文件的内容都没有异常!原来问题出在上。
命令行下面输入:

cat /etc/init.d/v2ray

你会发现每行后面都有一个^M符号,这些是回车符。
Linux系统遇到Windows下编辑的脚本,可能无法正确读取Shell脚本。在Windows系统下,文本编辑器或终端创建文件时可能会发生这种情况,因为Windows使用回车符+作为换行符,而Linux系统仅使用换行符。
从初始化脚本中删除回车符。可以使用单线sed来完成:

sed -i -e 's/\r//g' /etc/init.d/v2ray

将回车符删除之后,就可以成功的启动服务了。

评分

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注