打印数组在 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]
我是 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]