Ubuntu_Shell脚本'r'command_not_found错误的解决方法

2018年05月30日 99 字 教程整理


在执行一个shell脚本的时候, 经过检验,内部代码并没有错误,但运行时却提示 ‘\r’: command not found。

这个问题一般发生在Windows创建和编辑.sh脚本上传至Linux服务器运行的情况。问题发生的原因是 因为系统换行符的差异。只要转化脚本为unix格式即可解决问题。

0.1. 问题发生的原因

Windows系统的换行符是 \r\n,而Linux系统的换行符是 \n,所以只要把脚本中的 \r 去掉就可以了。

0.2. 问题的解决: 脚本代码转化为unix格式

找到命令脚本文件,执行如下命令:

sed -i 's/\r$//' <文件路径及名称>

待执行完成后,再次运行脚本,即可正常执行内部命令行。