windows中写好shell脚本测试正常,但是上传到Linux上运行,结果生成的备份文件总是多一两个问号,然后转义查看是多了一两个^M。查找资料发现是文件格式的原因;在windows创建的文件格式是dos格式的缘故,改成unix 格式即可。以下三种方法都可以方便快速的解决dos格式问题。
1)在Windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。
2)在Linux下转换
用vim打开该sh文件,输入:
:set ff
回车,显示fileformat=dos,重新设置下文件格式:
:set ff=unix
保存退出:
:wq
3)在Linux中的权限转换
也可在Linux中转换:
首先要确保文件有可执行权限
#chmod u+x filename
然后修改文件格式
#vi filename