zoukankan      html  css  js  c++  java
  • linux shell-syntax error near unexpected token错误

    在windows下用记事本编写linux shell脚本后,执行遇到syntax error near unexpected token错误

    问题原理:
    网上找了好久,找到原因,原来是回行的问题,每个系统的回行符是不一样的。

    window系统的记事本回车是CR和LF
    linux系统的记事本回车是LF
    mac系统的记事本回车是CR

    在windows下编写程序linux执行它不认识CR是什么东西。所以会出现syntax error near unexpected token错误。
    在linux环境下可以通过 vi -b 查看文本中所有字符

    解决方法:
    1:vi编辑器解决方法
    只要在linux环境下去掉回行符CR(在vi -b里是^M显示)即可。
    这里CR不确定是^V还是^M,在linux下不能直接匹配CR(在vi -b里是^M显示)。
    所以要用或匹配:%s/[^V|^M]$//g来匹配掉CR(在vi -b里是^M显示),之后的文本就是linux下的回行符。

    2:记事本解决方法
    貌似windows自带的记事本和写字板无法转换文本格式,所以解决不了问题。
    本人用的是notepad++文本编辑器。可以在 编辑->EOL Conversion->转换为UNIX格式即可。

  • 相关阅读:
    如何使用Java计算货币/钱~(How to calculate monetary values in Java)
    BigDecimal类
    状态码定义
    常见服务器返回状态码(Status Codes)
    2020-3-26学习地图
    ReentrantLock类
    HashSet类
    Vector类
    课程总结
    第十四周课程总结&实验报告
  • 原文地址:https://www.cnblogs.com/imxiu/p/4608842.html
Copyright © 2011-2022 走看看