1. ホーム
  2. バッシュ

[解決済み] シンタックスエラー」が発生しました。"(" unexpected' (expecting "done") [duplicate]".

2022-03-03 17:05:07

質問

私は、ディレクトリをループして、別のシェルスクリプトを呼び出すために使用する、非常に単純なシェルスクリプトを持っています。このスクリプトは私のローカルマシン ( OS X Bash 3.2が動作しています)、Bash 4.2が動作しているリモートサーバーで使用しています。

サーバー上で、私が which bash と表示されます。 /bin/bash ということで、一番上の行を追加しました。それでも、次の行を指して、このエラーが発生します。 arrIN= ...

8: run_all_verification.sh: シンタックスエラー: "(") 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

解決方法は?

エラーメッセージはDashのものです。 sh filename .

Bashでスクリプトを実行するには bash filename (または ./filename ).