sh执行脚本报错Syntax error: "(" unexpected


问题:

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,这两种方式来执行脚本。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM