打印数组在 shell 脚本中不起作用

Printing arrays are not working in shell script

我是 shell 脚本编写方面的新手,正在尝试学习数组。我声明了数组值,但是当我尝试打印该数组时,它给我一个错误(错误替换)。 我正在粘贴下面的代码,请告诉我这里有什么问题-

➜  ~ cat test.sh
#!/bin/bash

array=['foo','bar','a','b']
echo 1
echo "${array[0]}"
➜  ~ sh test.sh
1
test.sh: 5: Bad substitution

提前致谢。

根据您使用的系统,sh 可能不是 Bash 并且 它不是你的 Bash,例如可以是破折号。 运行 你的脚本 Bash:

$ bash arr.sh
1
[foo,bar,a,b]

或者设置一个可执行位并在不提供解释器名称的情况下调用脚本,因为您已经有了 shebang:

$ chmod +x test.sh
$ ./test.sh
1
[foo,bar,a,b]