syntax error near unexpected token `$' ''

这种情况发生的原因是因为你所处理的文件换行符是dos格式的" "
可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m
需要转换成linux/unix格式的" "
具体转换办法就是转换换行符
可以用sed命令处理一下文件,命令如下:
sed 's/ //' 原文件 >转换后文件

Demo:

sed 's/
//' access.sh > back.sh

或者直接修改原文件,比较危险(不可逆操作)

sed -i 's/
//' access.sh
每天都要遇到更好的自己.
原文地址:https://www.cnblogs.com/kaichenkai/p/10562939.html