(转载)执行sh ./xxx.sh出现:“Syntax error: “(” unexpected”的解决方法

昨天更新了Virtualmin的系统识别部分,目的是让它能支持Debian系统下的一键安装和优化,代码修改了差不多,将VPS重新安装为Debian,通过sh ./virtualmin.sh执行代码就报“Syntax error: “(” unexpected”错误,通过bash ./virtualmin.sh执行就没问题。几经查找语法,没有问题,后来在网上找到问题原因:
代码对于标准bash而言没有错,因为Ubuntu/Debian为了加快开机速度,用dash代替了传统的bash,是dash在捣鬼,解决方法就是取消dash。

sudo dpkg-reconfigure dash

在选择项中选No,搞定了!
————————————————
版权声明:本文为CSDN博主「青峰祭坛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014470581/article/details/51493150

原文地址:https://www.cnblogs.com/caiyishuai/p/15291401.html