shell脚本提示syntax error near unexpected token `$’\r”解决方法是什么?做了一个很简单的linux服务器的shell脚本,批量执行curl请求,单个复制出来是正常的,但是使用sh脚本请求就是报错 curl: (3) Illegal characters found in URL
报错具体为: syntax error near unexpected token `$’\r”
原来是每行请求后面有个\r字符导致,去掉就ok了
还有的情况就是windows下修改了shell脚本文件,然后移植到linux就报错了。
原因就是因为你所处理的文件换行符是dos格式的”\r\n”
可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m
需要转换成linux/unix格式的”\n”
具体转换办法就是转换换行符
可以用sed命令处理一下文件,命令如下:
sed ‘s/\r//’ 原文件 >转换后文件
sed ‘s/\r//’ /www/server/panel/getip.sh > /www/server/panel/getip.sh