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

10-17 02:48