语法错误:“(”意外(期待“完成”)

时间:2015-03-26 19:43:54

标签: bash shell

我有一个非常简单的shell脚本,我用它来遍历目录,并调用另一个shell脚本。我在我的本地机器上运行它(OSX运行bash 3.2),并在运行bash 4.2的远程服务器上使用它。

在服务器上,当我输入which bash时,我得到/bin/bash,所以我在顶部添加了该行。我仍然收到此错误,指向开始arrIN= ...

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

shell脚本:

#!/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 个答案:

答案 0 :(得分:16)

您的错误消息来自dash,可能是因为您运行了sh filename

要使用bash运行脚本,请使用bash filename(或./filename)。