arrays - 理解代码({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1 })

标签 arrays linux bash brace-expansion

我在Bash shell Decimal to Binary conversion中看到了下面的代码我想知道它是如何工作的?我尝试谷歌搜索但无济于事。

D2B=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1})

echo ${D2B[7]}

上面的代码是做什么的?

最佳答案

{N..M},对于整数文字 N 和 M,生成从 N 到 M 的整数系列,包括端点,用空格分隔。这称为“brace expansion”,是一个bashism。 .如您所见,所有大括号扩展都是在它们之间添加空格之前完成的。

variable=({some expansion}) 将每个扩展项放入 array 中, ${variable[index number]} 提取该索引处的值。因此,您的代码有效地以二进制字符串形式返回数字 7。

关于arrays - 理解代码({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1 }),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44738494/

相关文章:

java - 使用脚本从 *.jar 中删除文件

java - 如何像 SQL 中的 ORDER BY 子句一样操作数组?

java - 字符串的计数频率

python - 内置的Python模块sqlite3是使用全局计算机的sqlite3共享库,还是静态链接的?

bash - 禁用或取消设置特定的 bash 完成

regex - 字符 X 后的 sed 丢弃

javascript - JQuery .each() 向后

arrays - 查找大于排序数组给定键的最小数的索引,这两个函数返回相同的结果吗?

c - Pulseaudio 的 pa_simple_read() 输出 0-5 或 248-255

Java运行curl命令在Windows和Linux上是不同的