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格式即可。

  • 相关阅读:
    过滤'and','or' ''' '*' '=' ‘select’下的注入
    HBase 官方文档0.90.4
    MapReduce原理及操作
    HDFS原理及操作
    Sqoop介绍、安装与操作
    HBase介绍、安装与应用案例
    Mahout介绍、安装与应用案例
    Hive介绍和安装部署
    MapReduce应用案例
    Flume介绍与安装
  • 原文地址:https://www.cnblogs.com/imxiu/p/4608842.html
Copyright © 2011-2022 走看看