Shell script內容:
===============================================
#!/bin/sh
AAA=(a b c)
for i in ${AAA[@]}; do
echo $i
done
錯誤訊息為:
line 2,
Syntax error: "(" unexpected
這種宣告陣列變數的寫法,並不是在所有的shell底下都通用
所以一開始我先用底下指令確認安裝的shell種類,與版本
# echo $SHELL
# echo $BASH_VERSION
結果發現兩台電腦是相同的
後來查資料原來ubuntu預設的shell是使用dash而非bash,用以下指令查看了一下出現錯誤的電腦:
# ls -al /bin/sh
果然是使用dash所造成的
最後解決方法,就是手動更改/bin/sh,把他改為link到bash就可以了