问题描述
以前写的sh文件执行没有问题,但是在win10的Notepad++复制粘贴后,上传到linux服务器,执行会报错:'\r': command not found
问题分析
因为以前执行都没问题,所以可以排除sh文件的shell代码内容问题。
经过查询,得知,原来是windows和linux的sh一些文件格式不同。
以换行为例,windows是\r\n,而Linux是\n。所以linux下报错'\r': command not found
解决问题
问题解决也很简单,只需要执行命令,将sh文件编码设置为unix格式即可
执行命令:
vim 编辑当前sh文件,输入一下命令
:set ff=unix
:wq
或者在Notepad++编写sh文件后,另存为unix的文件格式,上传到linux服务器,不会出现这样的问题。