windows10的wsl_ubuntu虚拟系统下_linux执行function报错_Syntax error: "(" unexpected

自己写了一个简单的shell脚本,需要执行function函数,就直接报错了:

#! /bin/bash

function test(){
   return 0
}

if msg=$(test "1");then
  echo $msg
  echo 1;
fi

后来百度找到了原因,原来是因为Ubuntu/Debian为了加快开机速度,用dash代替了传统的bash,是dash在捣鬼,解决方法就是取消dash:

sudo dpkg-reconfigure dash

在选择项中选No,搞定了!

参考文章:Syntax error: "(" unexpected(linux系统)

*感谢您的阅读。喜欢的、有用的就请大哥大嫂们高抬贵手“推荐一下”吧!你的精神 支持是博主强大的写作动力。欢迎转载!
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/
原文地址:https://www.cnblogs.com/lxhbky/p/14658143.html