arrays - 不寻常的 bash 数组命令
问题描述
在 Bash 中找到了使用数组的这段代码。
unset var1[@]
for i in {0..23}
do
var1[10#$i]="some data"
done
用数据设置元素时,10#
元素编号前面的那个是干什么用的?
我知道为了显示您可以使用的元素总数,echo ${#var1[@]}
但我认为设置元素的哈希与总大小无关。
解决方案
在算术表达式中,您可以使用#
指定base:
$ echo $((2#1110))
14
使用10#$i
将防止i=08
失败value too great for base
并将其解释为8
. 对于 0 .. 23,它相当于i
..
推荐阅读
- ios - 如何从相机迭代 YUV NV12 缓冲区中的像素并在 Obj-c 中设置颜色?
- mysql - 如何从具有更大 id 的记录中进行选择
- asp.net-mvc - 如何将数据从 Controller 传递到 _Layout.cshtml
- visual-studio-code - 如何添加语言支持(不安装扩展)?
- javascript - 在正确的端口 JS 上连接到 mysql
- css - 绝对位置的 z-index 在 datepicker bootsraps 中不起作用
- javascript - 在 React JS 中上传后更改文件(重新上传文件)
- java - 在Android中滚动时如何扩展布局?
- docker - 使用 Docker USER 指令,多个 shell 命令遇到权限问题
- firebase - 如果子集合中存在,则读取 Firebase 身份验证规则不起作用