关于报错“syntax error near unexpected token `”和回车换行

时间:2022-06-01 21:05:14

关于报错“syntax error near unexpected token `”和回车换行

   用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M

  那么接下来就要搞清楚这个^M是什么东东?

long long ago.....  老式的电传打字机使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车,<CR>ASCII码为0D),另一个字符把纸上移一行 (称为换行, <LF>ASCII码为0A)。当计算机问世以后,存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示行尾。UNIX 开发者决定他们可以用一个字符来表示行尾,Linux沿袭Unix,也是<LF>Apple 开发者规定了用<CR>。开发 MS-DOS以及Windows 的那些家伙则决定沿用老式的<CR><LF>

  因为MS-DOSWindows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下用VC写的代码,行尾后的“^M”符号,表示的是回车符。