【发布时间】:2016-08-16 03:58:33
【问题描述】:
我有一个非常基本的 shell 脚本,其中包含
#!/bin/sh
NAME[0]="Hello"
echo ${NAME[0]}
因此,当我运行此脚本时,会出现错误提示
./test.sh: 2: ./test.sh: NAME[0]=Hello: not found
./test.sh: 3: ./test.sh: Bad substitution
所以基本上我浏览了一些教程,发现这是声明数组的基本方法。所以我很困惑为什么这是一个错误。有什么想法吗?
【问题讨论】:
-
您正在运行
/bin/sh,如果该外壳实际上是 bash,则使用该名称调用它会将其置于没有数组的 POSIX 兼容模式。请改用#!/usr/bin/env bash的shebang。 -
@ghoti 恕我直言答案已经包含此信息:)
标签: arrays linux bash shell sh