3

好吧,我正在学习 Shell Script,这件事让我很烦恼,我找不到 ${ } 应该做的事情

我四处搜索发现 ${ } 用于替换

但我无法理解的是这里

如果 ${ } 假设要进行替换,那么

distro=("redhat" "debian" "gentoo")

echo ${distro[0]}
echo ${distro[2]}

echo ${#distro[@]} 

当没有任何替换时,它怎么会运行上面的代码。

我错了

4

1 回答 1

4

man bash,搜索${with /\${,按n几下,瞧..

可以使用 ${name[subscript]} 引用数组的任何元素。

${#name[subscript]} 扩展为 ${name[subscript]} 的长度。如果下标是 * 或 @,则扩展是数组中的元素数。

检查前面的段落,您还会发现:

Arrays are assigned to using compound assignments of the form name=(value1 ... valuen), where each value is of the form [subscript]=string. Indexed array assignments do not require the bracket and subscript.

于 2012-05-29T07:12:23.110 回答