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