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

windows下编写的shell脚本在Linux下运行,提示Syntax error

2013-12-08 11:53 501 查看
之前在windows下用NotePad++工具编写一个shell脚本。拿到Linux下运行时提示Syntax error语法错误,{^M不匹配。使用vi编辑器打开一看,才发现脚本的每行结尾都有一个^M符号,注意,使用more命令是查看不出来的。后来查了下,发现dos系统和Linux系统下对每行结尾处理不一样。dos系统在文本每行的结尾加上回车符和换行符,而linux系统会对每行结尾只添加换行符。因此,windows下编写的脚本拿到Linux下时,linux会把每行的回车符翻译成普通字符,接上原来的文本,所以vi命令会看到每行结尾多了一个^M。

解决方案:在windows下编写的文本文件,最好使用UEdit工具 文件->转换->DOS转UNIX 进行转换下在上传到Linux系统下运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: