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地址检查主机状态脚本

[root@poll ~]# vi ip.txt

192.168.0.8 127.0.0.1

192.168.0.9

192.168.0.10

192.168.0.11

[root@poll ~]# 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

[root@poll ~]# 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

[root@poll ~]# seq -s " " 100 >>num.txt

[root@poll ~]# 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

[root@poll ~]# 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

[root@poll ~]# sh add.sh

5050

While循环语句

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

l  while 条件测试操作

do

命令序列

done

l  while语句执行原理

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

l  批量添加用户

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

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

初始密码均设为123123

实例

[root@poll ~]# 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

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

  1. shell编程之循环语句for / while / until

    shell编程之循环语句与函数 一.条件测试 二.循环语句 ① for循环语句结构(遍历) 示例1 示例2 ② while循环语句结构(迭代) 示例1 示例2 ③ until 循环语句结构 示例1 一 ...

  2. Shell编程之循环语句与echo的用法

    Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...

  3. Linux - 简明Shell编程06 - 循环语句(Loop)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash # for循环 for fil ...

  4. shell编程之循环语句

    for #! /bin/sh for FRUIT in apple banana pear; do echo "I like $FRUIT" done while #! /bin/ ...

  5. 02 shell编程之条件语句

    Shell编程之条件语句 学习目标: 掌握shell脚本条件测试 掌握if语句编程 目录结构: 条件测试 条件测试概述 l  对特定的条件进行判断,以决定如何执行操作 l  测试的方法 方法1:tes ...

  6. if语句 条件测试 shell编程之条件语句

    shell 编程之条件语句一.条件测试  ① test命令 测试  ② 文件测试  ③ 整数值比较  ④ 字符串比较  ⑤ 逻辑测试二.if语句的结构  单分支结构  双分支结构  多分支结构三.ca ...

  7. Shell编程之条件语句:if、case语句

    Shell编程之条件语句:if.case语句               一.条件测试                1)test命令测试                2)整数值比较         ...

  8. shell脚本之循环语句与函数

    shell脚本之循环语句与函数 echo的用法: echo -n #表示不换行输出 echo -e #输出转义字符,将转义后的内容输出到屏幕上 转义字符: \n :换行,被输出的字符从"\n ...

  9. bash 编程中循环语句用法

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

随机推荐

  1. Python爬虫《爬取get请求的页面数据》

    一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...

  2. 菜鸟学习Spring——SpringMVC注解版控制层重定向到控制层

    一.概述. SpringMVC中界面请求Contorller1,Contorller1需要重定向到Contorller2中显示其他页面或者做一些业务逻辑,Spring中提供了这个功能利用"r ...

  3. 【Mood 19】DailyBuild 2月

    2月1号 仿美团loading时小人奔跑动画 HTML5定稿了,为什么原生App世界将被颠覆? -----HTML5一改过去卡顿不兼容的毛病,在硬件升级以及苹果谷歌策略变化的背景下,让自己的优势相对于 ...

  4. spring boot 项目在启动时执行指定sql文件

    参考博客: https://www.jianshu.com/p/88125f1cf91c 1. 启动时执行 当有在项目启动时先执行指定的sql语句的需求时,可以在resources文件夹下添加需要执行 ...

  5. SQL Server ->> 在SQL Server中创建ASSEMBLY

    首先要把数据库的TRUSTWORTHY属性改为ON ALTER DATABASE [MYDB] SET TRUSTWORTHY ON GO 接下来直接创建ASSEMBLY应该就没问题了.但是往往有可能 ...

  6. apache--配置文件属性介绍

    Apache apache是众多web服务器中的一员,其它web服务器还有什么nginx.Sun.Microsoft等等. 接下来我们主要讲解一下Apache 网站分为两类:1.静态网站2.动态网站 ...

  7. 《浪潮之巅》(第2版):精彩的IT商战史

    2011年看过第一版.以为看新版会跳过大部分看过的内容,结果发现还是从头到尾看了一遍,2011年看过的内容已经记不太确切了:) 另外IT的历史太精彩了,许多故事都知道,再看还是挺有意思.当然作者的文字 ...

  8. Ajax 重构的步骤

    Ajax重构大致可以分为以下3三个步骤. 一 创建一个单独的JS文件,名称为AjaxRequest.js,并且在该文件中编写重构Ajax 所需的代码具体代码如下:var net = new Objec ...

  9. 解决Myeclipse报PermGen space异常的问题

    最近使用eclipse做开发,使用的服务器是tomcat,但在启动时报了Caused by: java.lang.OutOfMemoryError: PermGen space的异常. 这个错误很常见 ...

  10. linux系统(CentOS)下安装PhantomJS

    1.查看linux系统位数,来判断下载适配的PhantomJS: 输入命令:# lsb_release -a 2.下载PhantomJS: 从官网http://phantomjs.org/downlo ...