Linux--shell编程中的for循环

一、for循环

与其他编程语言类似,Shell支持for循环。

​​​​​​​​​​​​​​ 1. 格式1-字符型循环

for循环一般格式为:

for 变量 in 值1 值2 值3…

do

程序

done

当变量值在列表里,for循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的shell命令和语句。in列表可以包含替换、字符串和文件名。

in列表是可选的,如果不用它,for循环使用命令行的位置参数。

实例:

    1)顺序输出当前列表中的数字:

test18.sh

#!/bin/bash

for loop in 1 2 3 4 5

do

    echo "The value is: $loop"

done

输出结果:

The value is: 1

The value is: 2

The value is: 3

The value is: 4

The value is: 5

       2)顺序输出字符串中的字符

test19.sh

#!/bin/bash

for str in 'This is a string'

do

    echo $str

done

输出结果:

This is a string  

      3)打印/root目录下所有文件的名字

test20.sh

#!/bin/bash  

for file in $(ls /root)

do 

        echo $file  

done

     4)求1-100的和

test21.sh

#!/bin/bash

s=0

#从1加到100

for(( i=1;i<=100;i=i+1))

#定义循环100次

do

 #每次循环给变量s赋值

 s=$(($s+$i))

done

#输出从1加到100的和

echo "The sum of 1+2+..+100 is : $s"

    ​​​​​​​​​​​​​​2. 格式2-数字性循环

该格式的语法如下:

for ((初始值;循环控制条件;变量变化))

do

程序

done

需要注意以下几点:

初始值:在循环开始时,需要给某个变量赋予初始值,如 i=1。

循环控制条件:用于指定变量循环的次数,如 i<=100,则只要 i 的值小于等于 100,循环就会继续。

变量变化:每次循环之后,变量该如何变化,如 i=i+1,代表每次循环之后,变量的值都加 1。

语法二和其他语言中的 for 循环类似,也就是事先决定循环次数的固定循环。​​​​​​​

实例:

test22.sh

#!/bin/bash

for ((i = 0; i <= 5; i++)) 

do

    echo "welcome $i times"

done

你可能感兴趣的:(linux,运维,服务器)