Синтаксическая ошибка: «(» неожиданно (ожидается «выполнено») [дубликат]
На этот вопрос уже есть ответ здесь:
Я получаю сообщение об ошибке «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