今天写了一个shell脚本,老报错检查了一下基本的语法并没有发现错误。后来经过百度解决掉了,现总结如下。

错误现象:执行shell脚本,老报错“syntax error near unexpected token `”

解决办法:vim -b example.sh打开文件,发现文件每一行的末尾多了一个^M,这个问题在使用vim example.sh查看是看不见的,只能通过报错来判断使用vim -b才能发现问题。

因为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”键生成的。

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

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

错误原因:写脚本时,先使用了UltraEdit编辑好了脚本,然后存在了版本是windos的电脑上,随后传输到linux系统内去执行的。可能是存储文本时启用了默认的DOS格式。

本文转自 ping9527 51CTO博客,原文链接:http://blog.51cto.com/babyhanggege/1896833,如需转载请自行联系原作者

linux的shell脚本报错“syntax error near unexpected token `”的解决相关推荐

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

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

  2. bash报错syntax error near unexpected token `$‘\r‘‘解决方法

    之前的shell脚本是在服务器上编写的,后来又已复制的方式存在在了电脑上,以txt文件的形式存放的.于是复制到了编辑工具中,进行了相应项的修改.修改完毕后,拿到服务器上测试,结果执行sh XXX.sh ...

  3. 运行shell脚本报错:“syntax error near unexpected token 的解决方法”

    运行shell脚本报错:"syntax error near unexpected token 的解决方法" 今天写了个Cshell脚本,运行报错syntax error near ...

  4. sh运行时直接报错了syntax error near unexpected token `$‘\r‘

    用文本编辑器写完脚本后,上传到Linux,sh运行时直接报错了syntax error near unexpected token `$'\r' 两种解决方法 第一种 第一步 vim -b XXX.s ...

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

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

  6. linux bash: fork.c:line 6:syntax error near unexpected token `('

    这个报错我一直以为是 fork.c文件中line 6里面的问题 其实是运行了源文件,而没有运行编译后的文件 gcc -o fork fork.c 运行fork 而不是fork.c就行了

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

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

  8. syntax error near unexpected token

    2019独角兽企业重金招聘Python工程师标准>>> shell脚本,在自己机器上运行正常,给同事,运行报错syntax error near unexpected token ` ...

  9. Linux 中出现的 -bash: syntax error near unexpected token `newline'问题解决

    在命令端输入:python grad-cam.py  <cat_dog.png> 出现如下错误:bash: syntax error near unexpected token `newl ...

最新文章

  1. PostgreSQL 数据库多列复合索引的字段顺序选择原理
  2. XML文档类型定义DTD
  3. SpringBoot中自定义日志配置logback-spring.xml
  4. 五分钟带你摸透 Vue组件及组件通讯
  5. OpenMV(二)--IDE安装与固件下载
  6. Jmeter 测试结果分析之聚合报告简介
  7. voc数据集的map计算方式
  8. DELPHI XE5-8 弹出列表框供选择
  9. redis 值字符串前面部分乱码_解决spring boot redis序列化key-value乱码
  10. 【最长上升子序列】HDU 1087——Super Jumping! Jumping! Jumping!
  11. 自动控制原理第2章——自动控制系统的数学模型(思维导图)
  12. 陈桥五笔,我再也不会下载了
  13. 嵌入式系统基础——Unbuntu的初步使用
  14. argis加载tpk离线包
  15. 3D物联网大数据可视化制作平台
  16. 读论文:Noise2Noise: Learning Image Restoration without Clean Data
  17. Ubuntu 10.10 安装谷歌拼音输入法~
  18. mongodb数据迁移设置方法
  19. 跨服功能和跨服比赛测试正常
  20. 书籍 -- 《高性能MySQL》持续更新中(四)

热门文章

  1. 完全背包问题Leecode322零钱兑换和Leecode518零钱兑换||
  2. 三年经验前端社招——众安保险
  3. 【附源码】Java计算机毕业设计高考志愿智能推荐系统(程序+LW+部署)
  4. 微信小程序微信公众号支付宝小程序H5(获取信息用户信息,支付,分享,人脸识别)
  5. 人工智能+医疗与生命科学行业研究报告
  6. unity抠人像原理_OpenCV For Unity 实现简单抠图
  7. 华盛顿和华尔街在监管问题上喋喋不休(中)
  8. 计算机视觉三大顶级国际会议和国外知名期刊投稿
  9. 分布式计算的八大谬论
  10. 视图层详解,cbv和fbv,文件上传