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地址检查主机状态脚本
[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编程之循环语句的更多相关文章
- shell编程之循环语句for / while / until
shell编程之循环语句与函数 一.条件测试 二.循环语句 ① for循环语句结构(遍历) 示例1 示例2 ② while循环语句结构(迭代) 示例1 示例2 ③ until 循环语句结构 示例1 一 ...
- Shell编程之循环语句与echo的用法
Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...
- Linux - 简明Shell编程06 - 循环语句(Loop)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash # for循环 for fil ...
- shell编程之循环语句
for #! /bin/sh for FRUIT in apple banana pear; do echo "I like $FRUIT" done while #! /bin/ ...
- 02 shell编程之条件语句
Shell编程之条件语句 学习目标: 掌握shell脚本条件测试 掌握if语句编程 目录结构: 条件测试 条件测试概述 l 对特定的条件进行判断,以决定如何执行操作 l 测试的方法 方法1:tes ...
- if语句 条件测试 shell编程之条件语句
shell 编程之条件语句一.条件测试 ① test命令 测试 ② 文件测试 ③ 整数值比较 ④ 字符串比较 ⑤ 逻辑测试二.if语句的结构 单分支结构 双分支结构 多分支结构三.ca ...
- Shell编程之条件语句:if、case语句
Shell编程之条件语句:if.case语句 一.条件测试 1)test命令测试 2)整数值比较 ...
- shell脚本之循环语句与函数
shell脚本之循环语句与函数 echo的用法: echo -n #表示不换行输出 echo -e #输出转义字符,将转义后的内容输出到屏幕上 转义字符: \n :换行,被输出的字符从"\n ...
- bash 编程中循环语句用法
1.if 是单分支语句,使用格式如下: if condition ; then statement ….. fi 2.if … else 是双分支语句,使用格式如下: if condition ; t ...
随机推荐
- Apache Flume
An Event is a unit of data that flows through a Flume agent. The Event flows from Source to Channel ...
- 《ArcGIS Runtime SDK for Android开发笔记》——数据制作篇:紧凑型切片制作(Server缓存切片)
1.前言 在ArcGIS 10中出现了一种新的切片缓存文件格式:紧凑型存储(Compact).与之前的松散型存储(Exploded)相比,它有迁移方便.创建更快.减少存储空间等诸多优点,已经成为了现在 ...
- Oracle:environment variable "PATH" does not exceed the recommended length
今天重新安装oracle11g,突然在检测时报了以下错误: Environment variable: "PATH" - This test checks whether the ...
- Oracle的sql语句的两种判断形式
Oracle的sql语句的两种判断形式 判断当前列同时改动当前列 判断一个情况改动其他值 一类情况详解:实现的是当num这一列的值为3时,就显示好 以此类推 1)case num when 3 the ...
- 通过vue-cli3构建一个SSR应用程序
1.前沿 1.1.什么是SSR SSR(服务端渲染)顾名思义就是将页面在服务端渲染完成后在客户端直接展示. 1.2.客户端渲染与服务端渲染的区别 传统的SPA模式 即客户端渲染的模式 Vue.js构建 ...
- 如何从ERP下载Sales BOM到CRM
在ERP使用事务码CS01创建一个BOM,类型选择5 - Sales BOM: BOM的抬头维护material 1419,在BOM的component部分维护另外两个material 1421和14 ...
- IOS 应用管理(九宫格) 总结笔记
1. 开发前的思路 ========================================1> 从mainBundle中加载Plist2> 按照plist中的数据数量先确定各个a ...
- Android(java)学习笔记29:泛型类的概述和使用
1. 泛型类的概述和使用 泛型类用法一: 下面我们首先定义泛型类: package cn.itcast_04; /* * 泛型类:把泛型定义在类上 */ public class ObjectTool ...
- BestCoder Round #81 (div.2)
HDU:5670~5764 A题: 是一个3进制计数: #include <bits/stdc++.h> using namespace std; ]; int calc(long lon ...
- LA 4043 最优匹配
题目链接:https://vjudge.net/contest/161820#problem/A 题意: n 个 白点,n 个黑点,给出了坐标,求完美匹配后,各点不相交,输出白点对于的黑点编号:(输出 ...