shell 脚本在 devcontainer 内运行语法错误:“(”意外

shell 脚本在 devcontainer 内运行语法错误:“(”意外

下面的 test.sh 在 Windows 命令提示符下运行,按预期工作。但是当在 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

相关内容