问题:从windows下上传.sh shell文件到 ubuntu 服务器下运行代码,bash x.sh 后出错 AssertionError: Override list has odd length: ['\r']; it must be a list of pairs

 

原因:windows下的换行符与 ubuntu 下换行符不同,前者是\r\n,后者是\n,因此ubuntu上检测多了一个\r

 

解决方法:安装 dos2unix,见教程,需要root权限

 

更简单的解决方法: 删除.sh中多余行,只留下一行,不要换行符即可

 

补充:若使用pycharm可更改换行符格式,但是之前写的shell文件换行符仍然是不行的,得删了重新输

AssertionError: Override list has odd length: [‘\r‘]; it must be a list of pairs_javascript