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

  • 相关阅读:
    Android 播放音频
    Android Service 入门
    Android ConstraintLayout 说明和例子
    Android LiveData使用
    C# MVC MVP
    shell--4.echo和printf
    shell--3.运算符
    shell--2.shell数组
    mongDB-- 3. 查询操作
    问题--feed列表有新闻重复的问题
  • 原文地址:https://www.cnblogs.com/imxiu/p/4608842.html
Copyright © 2011-2022 走看看