Kat*_*ers 2 arrays syntax bash
我知道可以通过执行来获取bash中数组的长度${#arrayname[@]}
.
我的问题是:这是我必须记住的东西,还是可以将这种语法分解为可理解的部分?例如,@
符号表示人们期望找到索引的位置是什么?为什么#
?
Bar*_*mar 10
#
在变量引用的开头意味着获取变量值的长度.对于普通变量,这意味着它的长度为字符.#
是"数字"符号,所以你可以记住这意味着"变量中的事物的数量".
@
或者*
在数组索引中表示使用整个数组,而不是特定元素,而不是返回字符数,它返回数组元素的数量.*
在许多上下文中用作通配符,所以这应该很容易记住.另外,$*
和$@
用于表示所有参数到一个外壳脚本,所以与所有数组元素内的平行应该是显而易见的.
你不能只写,${#arrayname}
因为当你使用没有下标的数组变量时,它等同于0
数组的元素.所以${#arrayname}
是相同的${#arrayname[0]}
,这是数组的第一个元素中的字符数.
你应该记住.:) #
通常意味着数字.例如
$#
- 是参数的数量${#str}
- 字符串的长度 $str
${#arr[@]}"
- 数组的长度(元素数) arr
${#arr}
- 数组的第一个元素的长度(str
如上所述)不幸的是,${parameter#word}
还是${parameter##word}
有什么用数字.(它word
从开头删除最短/最长parameter
.
而且,# ....
是评论;)
归档时间: |
|
查看次数: |
2071 次 |
最近记录: |