您的位置:首页 > 运维架构 > Shell

sh文件在windows下修改后无法执行的解决方法以及shell脚本中含中文乱码

2013-09-25 10:53 1036 查看
sh文件在windows下修改后无法执行的解决方法
因为大部分人使用的操作系统是windows,同时也因为windows的可视化界面做得比较人性化,所以在修改linux的一个sh文件时,为了方便拉到window上用editplus编辑,上传回linux去后,这个SH却不能运行,错误提示是:: command not found。
原因是CR/LF问题,在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以linux下运行时就会报错找不到命令。
解决办法:

1. 在windows下使用UltraEdit编写shell脚本,编写完毕后,可通过下列方式避免因windows的回车符与LINUX的回车符不同而引起的command notfound错误和中文乱码错误。
(1). 可设置文件 ->转换->DOS->UNIX.
(2). 修改完毕后需要点击文件->设置另存为,编码方式选为UTF-8-无BOM,保存(UNIX换行符-LF)。如下图所示。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows shell LINUX
相关文章推荐