04 shell编程之循环语句

Shell编程之循环语句

学习目标:

掌握for循环语句编程

掌握while循环语句编程

目录结构:

For循环语句

l  读取不同的变量值,以逐个执行同一组命令

l  For语句结构

for 变量名 in 取值列表

do

命令序列

done

l  for执行原理

for 变量=取值1,do命令序列。取值2,取值3…取值n,分别do。所有取值都执行完之后,done结束循环。

l  根据IP地址检查主机状态

Ip地址存放在ip.txt文件中

每行一个

使用ping命令检测各主机的联通性

l  根据ip地址检查主机状态脚本

[[email protected] ~]# vi ip.txt

192.168.0.8 127.0.0.1

192.168.0.9

192.168.0.10

192.168.0.11

[[email protected] ~]# vi chkhost.sh

#!/bin/bash

#this is chkhosts

hlist=$(cat /root/ip.txt)

for IP in $hlist

do

ping -c 3 -i 0.2 -W 1 $IP &>/dev/null

if [ $? -eq 0 ] ;then

echo "host $IP is up"

else

echo "host $IP is down"

fi

done

[[email protected] ~]# sh chkhost.sh

host 192.168.0.8 is up

host 127.0.0.1 is up

host 192.168.0.9 is down

host 192.168.0.10 is down

host 192.168.0.11 is down

自制累加小脚本从1加到100

[[email protected] ~]# seq -s " " 100 >>num.txt

[[email protected] ~]# cat num.txt

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

[[email protected] ~]# vi add.sh

#!/bin/bash

#description : 1 add 2 add 3 add ... add 100

a=$(cat /root/num.txt)

c=0

for b in $a

do

i=$b

c=$(($i+$c))

done

echo $c

[[email protected] ~]# sh add.sh

5050

While循环语句

l  重复测试某个条件,只要条件成立则反复执行

l  while 条件测试操作

do

命令序列

done

l  while语句执行原理

while条件测试操作,条件成立,do命令序列。继续判断条件,成立就一直执行do命令序列。不成立就done结束循环。

l  批量添加用户

用户以stu开头,按数字顺序进行编号

一共添加20个用户,即stu1,stu2,…,stu20

初始密码均设为123123

实例

[[email protected] ~]# vi useadd.sh

#!/bin/bash

#一共添加20个用户,即stu1,stu2,…,stu20

#初始密码均设为123123

perfix=stu

i=1

while [ $i -le 20 ]

do

useradd $perfix$i

echo "123123"|passwd --stdin ${perfix}$1 &>/dev/null

i=$(($i+1))

done

原文地址:https://www.cnblogs.com/tzlsj/p/9164824.html

时间: 2024-11-14 11:49:06

04 shell编程之循环语句的相关文章

shell 编程for循环总结

shell编程for循环总结 在shell编程中,循环的执行是将某代码段重复运行多次,常用循环有for.while和until循环,其中for循环经常用于有限次循环,for循环的语法结构有如下两种: 第一种:shell传统for循环语法结构 for 变量名 in 变量取值列表:do 指令- done 其中取值列表通常又有5种方式: (1)直接给出列表,列表中间用空格隔开 [[email protected] ~]#for i in 1 3 5;do echo $i;done 1 3 5 (2)整

Shell中的循环语句实例

1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do     echo number $x done 注:"for" 循环总是接收 "in" 语句之后的某种类型的字列表.在本例中,指定了四个英语单词,但是字列表也可以引用磁盘上的文件,甚至文件通配符.实例1.2 #!/bin/bash for x in /var/log/* do     #echo "$x is a file

shell脚本编程之循环语句

在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的. 一.for命令 格式:for 变量 in 列表:do 循环体 done for命令会遍历列表中的每一个值,并且在遍历完成后退出循环. 列表形式有以下几种: 1.在命令中定义的一系列的值: 2.变量: 3.命令: 4.目录: 5.文件. 实例1: 上例中使用{初始值..结束值}格式来表示一个区间的数值. 实例2:以变量作为列表: 实例3:用命令生成列表: 上例中使用seq命令来生成列表,seq命令的格式为:se

bash 编程中循环语句用法

1.if 是单分支语句,使用格式如下: if condition ; then statement ….. fi 2.if … else 是双分支语句,使用格式如下: if condition ; then statement …. else statement …. fi 3.if …elif…elif…else 是多分支语句,使用格式如下: if condition ; then statement …. elif condition ; then statement ….. elif co

Shell脚本(3)-循环语句

for语句1.for语句1)简介在实际工作中,经常会遇到某项任务要多次执行的情况.而每次执行时仅仅是处理的对象不一样,其他命令相同.例如,根据通讯录中的姓名列表创建系统帐号.根据服务清单检查各主机的存活状态等.当面对各种列表重复任务时,使用简单的if语句已经难以满足要求,而顺序编写全部代码更异繁琐.困难重重,而for循环语句就可以解决此类问题.2)for语句结构for 变量名 in 取值列表do命令序列done注意:编写for语句时,我们首先要编辑一个取值列表文件.vim valueslist.

Linux Shell编程(1): 条件语句

1.if—then#!/bin/bashif date              如果命令运行成功(退出码为0),则then部分的命令被执行then   echo "good"fi 2.if—then—else#!/bin/bashif hunterthen   echo "good"else    echo "bad"        if语句中退出码非0,则执行else部分语句fi 3.elif#!/bin/bashif hunterthen 

shell中的循环语句

for语法格式 for var in list;do commands done 其中list可以包含: 1) 直接写 for alpha in a b c d;do echo $alpha done 2)变量 list="a b c d" for alpha in $list;do echo $alpha done 在shell执行的时候会进行变量替换,上面的list变量替换之后,for循环的形式和1中的形式一模一样.但是如果为$list加上了引号,即如果写为下面的形式: list=

shell编程—for循环

shell循环 shell循环的分类 1.for 2.while 3.until for循环结构 for 变量 in 列表; do 循环体 done 1.求1加到100的和 #!/bin/bash # sum of 1 to 100 Sum=0 for i in {1..100};do Sum=$(($Sum+$i)) done echo "Sum is $Sum" 2.依次向/etc/passwd中的每个用户问好,并显示对方的shell,例如:Hello,root,your shel

shell脚本--------while循环语句

while和for的区别:for语句非常适合用于列表对象无规律,且列表来源是固定的场合 while对于要求控制循环次数.操作对象按数字顺序编号,按特定条件执行重复操作. 重复测试某个条件时,只要条件成立就会反复执行(无限),除非强制终止,或者exit语句退出脚本 格式: while 条件测试操作(判断语句) do 命令序列 done 应用领域 1.批量添加用户 #!/bin/bash U="student" //名称 i=1 //默认从一开始 while [ $i -le 10 ] /