2016-04-25 64 views
1

我試圖運行遊民(流浪者SSH)的腳本,但我得到以下錯誤:語法錯誤在宅基地上運行時bash腳本流浪

測試/單位/ runTests.sh:4:測試/unit/runTests.sh:語法錯誤:「(」意外

命令:sh測試/單位/ runTests.sh

腳本運行正常之外流浪漢,唯一的腳本信息,我已經能夠找到流浪漢涉及的規定,這是不是我在這種情況下,我在做。

腳本:

#!/bin/bash 
i=0 
fails=() 

for d in tests/unit/*/ ; do 
    eval "vendor/bin/peridot -c tests/unit/peridot.php $d" 

    if [ $? -eq 1 ] 
     then 
      fails[$i]=$d 
    fi 
    wait 
done 

for ((j=0; j < ${#fails[@]}; j++)) do 
    echo "${fails[$j]}" 
done 

我讀過有關「(」衝正相關的語法錯誤,但我使用的建議,這些職位有(#/斌/ bash)的!

感謝您的任何建議。

回答

3

Command: sh tests/unit/runTests.sh

這意味着你(流浪者)正試圖在'sh'而不是'bash'中運行你的腳本。在這種情況下,第一行(#!/斌/ bash)的將被忽略,「上海」解釋不希望「(」字符。

+1

...因爲是Bourne shell或POSIX的SH語言規範不支持數組。 – Cyrus