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