1、windows下写的sh脚本,在开发机上跑总是报错:
![](https://img.haomeiwen.com/i9991116/f86d3e7b8def26e5.png)
解决:将可运行的脚本模板,复制一份副本,然后改掉里面的代码,即可运行;
将可运行的脚本,用ctrl+C复制到sublime中新建的sh文件中,不可运行;
根本原因:windows下文本换行是ctrl+LF,linux(unix)下认换行为LF,前者会掺入乱码。
![](https://img.haomeiwen.com/i9991116/87f1bd1246a51df6.png)
![](https://img.haomeiwen.com/i9991116/066ee592c3d59c65.png)
根本解决方法:将报错脚本用notpad++打开,编辑->文档格式转换->转为Unix(LF),如下:
![](https://img.haomeiwen.com/i9991116/5499011837aa473c.png)
![](https://img.haomeiwen.com/i9991116/6c4b6c1d335f60f7.png)
之前没遇到这个问题的原因:之前也一直在windows,用sublime编辑脚本,但都是直接传到南天门(公司内部的数据研发平台),测试运行。推测原因是南天门有一道转换格式的过程~从南天门down脚本下来,与本地开发的脚本对比,发现符合推测。
sublime将文档转为unix方法:Preferences->settings->在User页加一行配置
![](https://img.haomeiwen.com/i9991116/4bf8c146e5042428.png)
![](https://img.haomeiwen.com/i9991116/288a0832296d979c.png)
2、shell脚本在linux系统上是白色,不是绿色
解决:chmod 755 xxxx.sh 转为可执行文件(权限)后,即可显示绿色
网友评论