好吧,我正在学习 Shell Script,这件事让我很烦恼,我找不到 ${ } 应该做的事情
我四处搜索发现 ${ } 用于替换
但我无法理解的是这里
如果 ${ } 假设要进行替换,那么
distro=("redhat" "debian" "gentoo")
echo ${distro[0]}
echo ${distro[2]}
echo ${#distro[@]}
当没有任何替换时,它怎么会运行上面的代码。
我错了
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.