問題:
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
,這兩種方式來執行腳本。