问题:
sh脚本中有数组初始化的内容
$ str="123 456 789"
$ array=($str)
$ echo ${array[2]}
sh执行脚本会报错 Syntax error: "(" unexpected
原因:
其他常见的linux发行版,虽然很多是将sh指向bash
debian/ubuntu上sh命令默认是指向dash,而不是bash
又因为dash是比bash还轻量的,只支持基本的shell功能,
其中不包括刚才那种数组初始化,所以才会识别不了,直接报Syntx error
解决:
解决办法是,直接用 bash test.sh,或者./test.sh,这两种方式来执行脚本。
原文链接:https://blog.csdn.net/zzddada/article/details/120722611
Powered by ddoss.cn 12.0
©2015 - 2025 ddoss
渝公网安备50011302222260号
渝ICP备2024035333号
【实验平台安全承诺书】
小绿叶技术社区,优化网络中,点击查看配置信息
主机监控系统: 安全防火墙已开启检查cc攻击-下载文件完成后等待10s 恢复访问,检查连接数低于峰值恢复访问
您的IP:216.73.216.110,2025-12-01 15:19:27,Processed in 0.01346 second(s).