比如生成1~100的数然后可以让for来使用比如for 1 in `cmd 1 100`想问一下那个命令是什么 我记得有几种方法
seq
index=1
while [ $index -le 100 ]
do
。。。
index=$(($index +1))
done
#!/bin/bash
while :;do
((++index))
echo $index
((index==100))&&break
done
bash 3 for i in {1..100} do ....... done
QUOTE:
bash 3
for i in {1..100}
do
.......
done
可惜ksh不支持
seq 1 100
QUOTE:
原帖由 hongyunqi 于 2007-6-10 15:52 发表
可惜ksh不支持
min=1max=100while [ $min -le $max ] do echo $min min=`expr $min + 1` done這個該可在任何shell執行
seq 1 100 这个速度好快,比8楼的方法快多了,8楼的方法为什么就那么慢呢?
seq 不是每個 Unices 都有的,因為呼叫外部程序 expr , 以迴圈方式一遍 +1 到 100,當然慢了,如果 shell 內部命令,就快多了 :)如 Bash 3 可以printf '%d\n' {1..100} , 比seq 還快...[victor@localhost ~]$ time seq 201234567891011121314151617181920real 0m0.003suser 0m0.000ssys 0m0.000s[victor@localhost ~]$ time printf '%d\n' {1..20}1234567891011121314151617181920real 0m0.001suser 0m0.000ssys 0m0.000s[victor@localhost ~]$
谢谢 twf_cc 释疑,已经明白了。
不必客氣 , 大家交流一下 :), 我剛用 ruby 再試一下,更慢..., 還是用bash 快,哈[victor@localhost ~]$ cat count.rbfor i in 1..20 p iend[victor@localhost ~]$ time ruby count.rb1234567891011121314151617181920real 0m0.017suser 0m0.008ssys 0m0.000s
阅读(1177) | 评论(0) | 转发(0) |