2019独角兽企业重金招聘Python工程师标准>>>

shell脚本,在自己机器上运行正常,给同事,运行报错syntax error near unexpected token `,左看右看shell脚本没有问题,没有办法google搜索,发现一位仁兄讲的挺好,内容如下:

用命令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-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下用VC写的代码,行尾后的“^M”符号,表示的是符。

  在Vim中解决这个问题,很简单,在Vim中利用替换功能就可以将“^M”都干掉,键入如下替换命令行:

  1)vi -b setup.sh

  2)在命令编辑行<就是: 按ESC键 然后shift+:冒号>输入:%s/^M//g

  注意:上述命令行中的“^M”符,不是“^”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”键生成的。

  这样替换掉以后,保存就可以执行了。当然还有其他的替换方式比如:

  a.一些linux版本有 dos2unix 程序,可以用来祛除^M。

  b.cat filename1 | tr -d "/r" > newfile 去掉^M生成一个新文件,还有sed命令等,凡是可以替换的命令都是可以用来新生成一个文件的。

P:其实上面方法不太好用,这里有更简单的方法,不要怪我说的太晚,觉得这样大家能多了解点。。哈哈

http://jingyan.baidu.com/article/9f63fb91d014b8c8410f0e7a.html

转载于:https://my.oschina.net/u/264186/blog/638081

syntax error near unexpected token相关推荐

  1. -bash:syntax error near unexpected token '('

    在Xshell5中编写int main(int argc,char** argv)时, 出现-bash:syntax error near unexpected token '('  : 可是我是按照 ...

  2. linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法

    运行shell脚本时出现:syntax error near unexpected token `$'\r"的错误,一般是格式的问题,比如直接从txt文档拷贝过来的内容: 解决方法:sed ...

  3. 成功解决.sh: line 6: syntax error near unexpected token `do

    成功解决.sh: line 6: syntax error near unexpected token `do 目录 解决问题 解决思路 解决方法 T1.修改格式系统间不兼容的格式

  4. 成功解决bash syntax error near unexpected token from

    成功解决bash syntax error near unexpected token from 目录 解决问题 解决思路 解决方法 解决问题 -bash: syntax error near une ...

  5. shell if else 用法 syntax error near unexpected token `then'

    1.  错误 #!/bin/bash platform=$1 if[ "$platform" = "ibmaix64" ] then       echo &q ...

  6. shell编程报错:“syntax error near unexpected token `”

    今天写了个shell脚本,在自己机器上运行正常,给同事,运行报错syntax error near unexpected token `,左看右看shell脚本没有问题,没有办法google搜索,发现 ...

  7. svn之bash: syntax error near unexpected token `(‘ 解决办法

    1.问题 svn update *****/网易(杭州)网络有限公司SSL-20170623001 出现这个错误 bash: syntax error near unexpected token `( ...

  8. 记一次坑爹报错之旅 -bash: /etc/profile: line 11: syntax error near unexpected token

    昨晚修改了环境变量后,进行重置服务时 source /etc/profile 报错 [root@localhost etc]# source /etc/profile -bash: /etc/prof ...

  9. rm删除报错 :-bash: syntax error near unexpected token `('

    删除报错 :-bash: syntax error near unexpected token `(' root@ubuntu:~# rm -rf zabbix-release_4.2-1+xenia ...

最新文章

  1. Agent Job相关的系统表
  2. git初使用(本地创建后第一次提交到git)
  3. (六)构建优化(揭开webpack性能优化的内幕)
  4. python版本回退_Python爬虫之BeautifulSoup解析之路
  5. Go_笔试题记录-不熟悉的
  6. 解决Jenkins上git出现的“ERROR: Error fetching remote repo ‘origin‘”问题
  7. mysql 物化视图_Mysql物化视图应用
  8. 片假名翻译软件测试,怎么写软件测试用例
  9. ENSP实验五——三层交换机+二层交换机
  10. wdr通刷固件_西数硬盘维修工具WDR5.3简体中文版下载及图文教程
  11. Win10 利用快捷键,快速新建TXT文档
  12. ubuntu磁盘格式化
  13. 人民币的符号的正确表示法?一杠?两杠?¥还是¥呢?
  14. CentOS7安装杀毒软件ClamAV图形界面ClamTk
  15. Axure RP9制作汉堡菜单
  16. wps怎么下载仿宋gb2312_仿宋gb2312字体
  17. ubuntu 误使用dpkg --clear-selections修复
  18. Ubuntu系统下安装Sailfish的SDK
  19. Spring Boot教程(十四)快速入门
  20. JS 控制文本框只能输入中文、英文、数字与指定特殊符号(屏蔽表情输入)

热门文章

  1. 一幅图读懂量子力学(上)
  2. 突发!ASML断供中芯国际
  3. 懂数学人的都认同:数学的本质[关联]万物(一)
  4. Cell Stem Cell:研究人员开发出大脑类器官用于研究认知障碍!
  5. 想学 Java 的你,来看看这 20 个实战项目!
  6. 超可爱,抖音爆款实时视频漫画变身特效技术
  7. WebShell代码分析溯源(第1题)
  8. mysql5.7 生成列 generated column
  9. 16-Storm-control //GNS3 2.1.5
  10. 【译】JavaScript中的Callbacks