Syntax error: "(" unexpected报错处理

1.ubuntu 系统执行sh 命令报错

1. ​​数组语法​​
dash: 4: Syntax error: "(" unexpected
2. ​​双括号条件 [[ ]]​​
dash: 7: [[: not found
3. ​​进程替换​​
dash: 11: Syntax error: "(" unexpected
4. ​​C 风格循环​​
dash: 14: Syntax error: Bad for loop variable
5. ​​正则匹配 =~​​
dash: 18: [[: not found
6. ​​数组操作​​
dash: 22: Bad substitution

2.报错情况说明

ubuntu默认使用的是dash环境,centos默认使用的bash环境,解释器有一定的区别

3.解决方法

方法一:不使用“sh”执行脚本,使用“./” ,如:(./test.sh)

方法二

  • 交互界面修改dash为bash
dpkg-reconfigure dash

方法三:

  • 查看当前解释器
readlink -f /bin/sh  #会输出/bin/dash
  • 直接强制将 /bin/sh 指向 bash
ln -sf /bin/bash /bin/sh 
  • 再次查看当前解释器
readlink -f /bin/sh   # 会输出 /bin/bash
  • 状态对比表

image

 

posted @ 2025-08-05 10:44  Leonardo-li  阅读(83)  评论(0)    收藏  举报