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