执行Shell脚本遇到Syntax error: "(" unexpected

问题背景

今天在使用sh prepro.sh指令执行一个预处理数据的脚本时,遇到了Syntax error: "(" unexpected的问题,再三检查,并没有发现脚本本身有什么问题

问题定位

查询后发现是UbuntuShell版本问题,Ubuntu为了加快响应速度,默认采用了速度更快,但功能相对更少的dash来替代传统的bash,因此,我们可以用以下两种方案来解决问题:

解决方案

解决方案1

强制使用bash来执行脚本,如bash prepro.sh

解决方案2

取消dash,输入sudo dpkg-reconfigure dash,随后选择no,即可

posted @ 2022-05-17 09:40  Maydaytyh  阅读(381)  评论(0编辑  收藏  举报