结合了两份博客的内容,终于解决了这个问题。
博客一
博客二
原因就在于:
脚本是在window下编辑完成后上传到linux上执行的,win下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是脚本编码的问题。
可以使用dos2unix命令来转换文件格式
dos2unix a.sh
bash a.sh
没有dos2unix时,需要安装一下
apt-get update
apt-get install dos2unix
然后执行转换命令,即可成功运行