古城热线 发表于 2018-8-19 14:28:36

shell编程中while与for的区别及效率比较

  一、for循环:
  语法结构:
  1、for 变量 in seq字符串
  2、for 变量 in `command`" "
  3、for 变量 in "$@"或“$*”
  4、for((赋值;条件;运算语句))
  说明:for是用空格字符分割,每次for…in 读取时候,就会按顺序将读到值,给前面的变量。
  echo "####################################"
  for i in $(seq 3 10); do
  echo $i;
  done;
  echo "####################################"
  for i in a b c d e; do
  echo $i;
  done;:
  echo "####################################"
  for i in $@; do
  echo $i;
  done;
  echo "####################################"
  for i in $*; do
  echo $i;
  done;
  echo "####################################"
  for((i=1;i $TIMEFILE
  测试结果如下:
  1、100000行的文件:
  method 1:
  function while_read_bottm
  real    0m3.035s
  user    0m2.535s
  sys   0m0.497s
  method 2:
  function while_read_line
  real    0m3.508s
  user    0m2.517s
  sys   0m0.981s
  method 3:
  function while_read_line_fd
  real    0m3.046s
  user    0m2.450s
  sys   0m0.582s
  method 4:
  functionfor_in_file
  real    0m4.256s
  user    0m3.308s
  sys   0m0.940s
  由上可见,在while循环中读写文件时,效率最高。
  while read LINE
  do
  echo $LINE
  done < $FILENAME

页: [1]
查看完整版本: shell编程中while与for的区别及效率比较