Bourne Shell For i in(seq)

Chr*_*non 10 shell scripting loops sh

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

for i in `seq 1 10 15 20`
   #do stuff
loop
Run Code Online (Sandbox Code Playgroud)

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

gho*_*g74 16

尝试

for i in 1 10 15 20
do
   echo "do something with $i"
done
Run Code Online (Sandbox Code Playgroud)

否则如果你有最近的Solaris,至少有bash 3.例如,这给出1到10和15到20的范围

for i in {1..10} {15..20}
do
  echo "$i"
done
Run Code Online (Sandbox Code Playgroud)

或者像nawk一样使用工具

for i in `nawk 'BEGIN{ for(i=1;i<=10;i++) print i}'`
do
  echo $i
done
Run Code Online (Sandbox Code Playgroud)

或者甚至是while循环

while [ "$s" -lt 10 ]; do s=`echo $s+1|bc`; echo $s; done
Run Code Online (Sandbox Code Playgroud)