Синтаксическая ошибка: «(» неожиданно (ожидается «выполнено») [дубликат]

На этот вопрос уже есть ответ здесь:

Я получаю сообщение об ошибке «array.sh: 3: array.sh: Синтаксическая ошибка:» («неожиданно» 3 ответа

У меня есть очень простой сценарий оболочки, который я использую для циклического перемещения по каталогам и вызова другого сценария оболочки. Я написал его на своей локальной машине (OSX под управлением bash 3.2) и использую его на удаленном сервере под управлением bash 4.2.

На сервере, когда я печатаюwhich bash, Я получил/bin/bashПоэтому я добавил строку сверху. Я все еще получаю эту ошибку, указывая на строку, которая начинаетсяarrIN=...

8: run_all_verification.sh: Syntax error: "(" unexpected (expecting "done")

Сценарий оболочки:

#!/usr/bin/bash
#base name for all experiments
BASE_EXP_ID=$1;

for i in ${BASE_EXP_ID}*
do
        #split file name by "__"
        arrIN=(${i//__/ });
        EXP_ID=${arrIN[0]}
        NUM_FEATURES=${arrIN[1]}
        echo "${EXP_ID} ${NUM_FEATURES}"

        sh run_verification.sh ${EXP_ID} ${NUM_FEATURES}

done

Ответы на вопрос(1)

Ваш ответ на вопрос