devcontainer構文エラー内で実行されるシェルスクリプト: "("予期しない

devcontainer構文エラー内で実行されるシェルスクリプト:

Windowsのコマンドプロンプトで実行される以下のtest.shは期待どおりに機能します。しかし、devcontainerの内部で実行すると失敗します。

files=(
    "first" 
    "second"
    )

for i in "${files[@]}"
do    
    echo $i 
done   

devcontainerで実行中にエラーが発生しました。

test.sh:1: 構文エラー: "(" 予期しない

ここに画像の説明を入力してください。

このエラーを解決する方法を案内してください。

ベストアンサー1

配列をサポートしていないものを実行しています。代わりに使用するshとうまくいきます。または、スクリプトの先頭に次の行を追加します。bashbashsh

#! /bin/bash

その後、実行可能()にしてからをchmod a+x script.sh使用して実行できます/path/to/script.sh

問題を説明するには:

$ sh -c 'list=("a" "b"); echo "OK"'
dash: 1: Syntax error: "(" unexpected
$ bash -c 'list=("a" "b"); echo "OK"'
OK

おすすめ記事