我在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/