zoukankan      html  css  js  c++  java
  • 问题---执行sh ./xxx.sh出现:Syntax error: "(" unexpected (expecting "done")

     这与实际使用的shell版本有关。
    可以用 ls -l /bin/*sh 打印出来,例如:

     在这里,sh被重定向到dash,因此,如果执行./example.sh,则使用的是dash 。
    避免报错可有多种方法,例如执行: bash example.sh ;
    或者将脚本第一行#!/bin/sh 改为:#!/bin/bash ,执行./example.sh也可以。

    另一种解决办法:

    代码对于标准bash而言没有错,因为Ubuntu/Debian为了加快开机速度,用dash代替了传统的bash,是dash在捣鬼,解决方法就是取消dash:
    sudo dpkg-reconfigure dash ,在选择项中选No。

    @https://blog.csdn.net/u014470581/article/details/51493150

  • 相关阅读:
    2021.1.11
    2021.1.10(每周总结)
    2021.1.9
    2021.1.8
    2021.1.7
    构建之法阅读笔记01
    [java] XML DTD XSD
    详解 泛型 与 自动拆装箱
    详解 正则表达式
    详解 LinkedHashMap
  • 原文地址:https://www.cnblogs.com/carle-09/p/12596979.html
Copyright © 2011-2022 走看看