在window下编写的一个shell,运行一切正常,放到linux上运行报以上错误,根据网上资料,是因为windows与linux在处理换行有所不同,dos格式的"\r\n",linux/unix格式的"\n",我们可以使用cat -v 文件名,进行检查,如果是以^M则需要转换为linux 下的换行符:
具体转换办法就是转换换行符
可以用sed命令处理一下文件,命令如下:
sed 's/\r//' 原文件 >转换后文件,再查看新文件,ok解决!
检查shell语法:bash -n 文件名
在window下编写的一个shell,运行一切正常,放到linux上运行报以上错误,根据网上资料,是因为windows与linux在处理换行有所不同,dos格式的"\r\n",linux/unix格式的"\n",我们可以使用cat -v 文件名,进行检查,如果是以^M则需要转换为linux 下的换行符:
具体转换办法就是转换换行符
可以用sed命令处理一下文件,命令如下:
sed 's/\r//' 原文件 >转换后文件,再查看新文件,ok解决!
检查shell语法:bash -n 文件名