问题:
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 - 2026 ddoss
渝公网安备50011302222260号 |
渝ICP备2024035333号|小程序:渝ICP备2024035333号-2X |
博客简介 |
工程建设规划 |
【实验平台安全承诺书】
主机监控系统: 安全防火墙已开启检查cc攻击-下载文件完成后等待10s 恢复访问,检查连接数低于峰值恢复访问
您的IP:216.73.216.108,2026-03-03 10:02:59,Processed in 0.01334 second(s).