我想在 Bourne shell 中编写一个循环来迭代一组特定的数字。通常我会使用 seq :

for i in `seq 1 10 15 20`
   #do stuff
loop

但貌似在这个 Solaris box seq 上不存在。任何人都可以通过提供另一种迭代数字列表的解决方案来提供帮助吗?

最佳答案

尝试

for i in 1 10 15 20
do
   echo "do something with $i"
done

否则,如果您最近使用 Solaris,那么至少有 bash 3。例如,这给出了从 1 到 10 和 15 到 20 的范围
for i in {1..10} {15..20}
do
  echo "$i"
done

或者使用像 nawk 这样的工具
for i in `nawk 'BEGIN{ for(i=1;i<=10;i++) print i}'`
do
  echo $i
done

或者甚至是 while 循环
while [ "$s" -lt 10 ]; do s=`echo $s+1|bc`; echo $s; done

关于shell - Bourne Shell For i in (seq),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2102364/

10-15 18:06