Linux的shell脚本换行符引起的unexpected syntax errror: ‘最简单方法

来源:互联网 发布:出库单软件 编辑:程序博客网 时间:2024/06/08 11:04

我们刚开始编写shell脚本,会遇到写一个非常简单的shell脚本总是报错,明明写的没问题,最经典的报错就是标题那个,什么也看不出来,就告诉你是哪行报错,给你个 ‘做提示。
其实这种错误很多是由于换行符造成的,因为IOS,UNIX/Linux,windows/Dos,他们对换行符定义不一样,就会造成我读你的读不出来,你读我的读不出来的情况。
windows下面换行符是\r\n,UNIX下面是只有\n。txt类型的文件只支持
\r\n,但是我是看了一些别人的博客,很多工具都可以转换这个换行符。甚至貌似word也可以,这个我没试过,不确定这个。但是常见的编程工具都可以。
我们常见的doc\windows下面用UNIX和苹果的Mac文件会变成一行。在UNIX和苹果的Mac用doc\windows文件打开会出现^M,这个你在vi下面看最直观,以下是我搜的关于三个主流系统换行符区别。
\r是回车符,\n是换行符,各个系统的换行标志:
win 用 \r\n
linux/unix 用 \n
Mac OS 用 \r

解决这种问题,网上有很多方法,基本是去换行符的但是比较麻烦。我们目的是快速完成脚本不用特别麻烦,可以采用一些工具来帮我们解决这个问题:比如我这个利用notepad++工具来解决这个换行符问题:看最下面一行的显示,显示的是windows/dos,我们点击编辑再点击文档格式转换转为UNIX格式就可以,随便的编写shell脚本,其他的工具也是可以,目的就是将这个文档转换为UNIX的,这样我们就可以正常使用了。

0 0
原创粉丝点击