我知道如何执行顺序for循环:
for i in $(seq 0 63)
do
echo $i
done
这将打印0-63。 但是,如果我想要某些数字只能像0,5,25,43,44,51,54那样循环。
我知道我可以做到以下几点:
for i in $(seq 0 63)
do
if [ "$i" -eq 0 ] || [ "$i" -eq 5 ] || [ "$i" -eq 25 ] || [ "$i" -eq 43 ] || [ "$i" -eq 44 ] || [ "$i" -eq 51 ] || [ "$i" -eq 54 ]; then
echo $i
fi
done
但结果将是它仍然经历了那些循环迭代,并且不是一种有效的解决方案。
我可以用seq来描述这些特定数字0,5,25,43,44,51,54吗?
答案 0 :(得分:1)
如果你想迭代一个已知的列表,你可以简单地将空格分隔的元素存储在一个变量中并循环遍历:
nums="0 5 25 43 44 51 54";
for i in $nums;
do echo $i;
done;