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

관련 정보