执行shell 脚本 报错“Syntax error: “(” unexpected 原因

通过 ./test.sh执行代码,报“Syntax error: “(” unexpected”错误,通过bash ./test.sh  执行就没问题。几经查找语法,没有问题,后来在网上找到问题原因:

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

sudo dpkgreconfigure dash

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

你也可以直接用bash ./test.sh  执行