Shell脚本报错--syntax error near unexpected token for((i=0;i

时间:2022-10-30 22:59:39

现象:

         shell脚本使用Nodepad++进行本地编辑,在编辑后上传到linux机器进行执行时提示“syntax error near unexpected token for((i=0;i<$length;i++))

解决方案:

         思路:经查询是因为所处理的文件换行符是dos格式的"\r\n",可以使用cat -v 文件名 来查看换行符是否是,如果是上述,则行尾会是^m

         解决:

                   使用sed命令处理一下文件,使格式保持为linux格式,如下:
                   sed 's/\r//' 源文件.sh > 转换后文件.sh
 
 
总结:由于win与linux的换行符不一致导致,保持一致即可。