且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux命令:for循环

更新时间:2022-09-30 16:20:05

 for循环:

   进行循环操作,for循环语句

1.命令格式:

第一种格式:  

    for 变量 in 列表; do

         循环体

      done

Usage: for I in {1..100}; do

          let SUM+=$i

       done

         echo "$SUM"


第二种格式:

     for ((变量=初始值 ; 变量范围 ; 变量变化方式)); do

             循环体

     done

 Usage: for ((i=1; i<=100; i++)); do

          let SUM+=$i

       done

         echo "$SUM"

2.命令功能:

执行循环语句

3.命令参数:

for 变量 in 列表;do

  循环体

 done

for循环的列表生成方式:

{n..m}:通过花括号,中间是变量的遍历范围,从n到m都为变量的遍历

  `seq [起始数 [步进长度]] 结束数`  `seq 1 2 10`变量的遍历值为1 3 5 7 9 超过十就退出遍历

{1..100}

  declare -i SUM=0    declare 声明变量 -i 声明变量为整数integer

 declare -x 将变量声明为环境变量

4.命令实例:

   1、计算从1到100的和

  #!/bin/bash

  # program:

  #  计算1到100的和

  # history donggen 2016-10-21-20:30

  PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

  export PATH

  declare -i SUM=0


  for I in {1..100}; do   #或者 for I in `seq 1 100`

   let SUM=$SUM+$I

  done

  echo "1+..+100=$SUM"

  

   2、 写一个脚本:

1、设定变量FILE的值为/etc/passwd

2、依次向/etc/passwd中的每个用户问好,并显示对方的shell,形如: 

       Hello, root, your shell:/bin/bash

#!/bin/bash

#program:

# 向/etc/passwd里面用户问好

#history 2016-10-21-21:30

 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

 export PATH

 LINES=`wc -l /etc/passwd | cut -d' ' -f1`

 

 for I in `seq 1 $LINES`; do

  echo "helo,`head -n $I /etc/passwd | tail -1 | cut -d: -f1` your shell is: `head -n $I /etc/passwd | tail -1 | cut -d: -f7`"

 done

 











本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1864425 ,如需转载请自行联系原作者