首页 > 解决方案 > 不寻常的 bash 数组命令

问题描述

在 Bash 中找到了使用数组的这段代码。

unset var1[@]

for i in {0..23}
do
    var1[10#$i]="some data"
done

用数据设置元素时,10#元素编号前面的那个是干什么用的?

我知道为了显示您可以使用的元素总数,echo ${#var1[@]}但我认为设置元素的哈希与总大小无关。

标签: arraysbash

解决方案


在算术表达式中,您可以使用#指定base

$ echo $((2#1110))
14

使用10#$i将防止i=08失败value too great for base并将其解释为8. 对于 0 .. 23,它相当于i..


推荐阅读