【发布时间】:2014-10-06 22:05:24
【问题描述】:
我正在尝试运行使用列表作为循环计数器的嵌套 for 循环。问题是一旦'delta'循环达到100,它不会重置为0。'edges'同样的问题。
我试过这个,但它似乎不适用于我的循环。 http://tldp.org/LDP/abs/html/nestedloops.html
这里有什么想法吗?这是我的代码:
#!/bin/sh
threads="1 2 4 8 16 32 64 96 128 160 192 224 256"
delta="0 10 20 30 40 50 60 70 80 90 100"
edges="16 8192"
nodes="16384"
for threads in $threads
do
for delta in $delta
do
for edges in $edges
do
for nodes in $nodes
do
printf "\n"
echo $threads
echo $delta
echo $edges
echo $nodes
done
done
done
done
预期输出:
1 0 16 16384
1 0 8192 16384
1 10 16 16384
1 10 8192 16384
1 20 16 16384
1 20 8192 16384
【问题讨论】:
-
如果这是您的预期输出,那么脚本是正确的,因为它现在就是这样输出的。
-
我希望内部循环再次从 0 开始(从它们列表的第一个元素开始),一旦外部循环进行每次迭代
-
好的,我明白了,现在我们有了预期的输出。
标签: bash shell ubuntu nested-loops