Shell脚本之for循环、while循环,if语句、case语句
1. for循环
一般格式:
格式1:
for((条件))
do
动作
done
格式2:
for 变量名 in 范围
do
动作
done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
实验:
##1. 输出数字:1-5
[root@localhost ~]# vim for01.sh
1
###################
#!/bin/bash
for i in {1…5}
do
echo $i
done
[root@localhost ~]# sh for01.sh
1
2
3
4
5
1
2
3
4
5
6
##2.将输出数字:1-6 并且 间隔为2
[root@localhost ~]# vim for02.sh
1
###################
#!/bin/bash
for NUM in seq 1 2 6 ## 2表示步长
do
echo $NUM
done
[root@localhost ~]# sh for02.sh
1
3
5
1
2
3
4
检测所有1-60的ip网络通信状态
[root@localhost mnt]# vim ip_check.sh
1
#####################
#!/bin/bash
for((i=1;i<=60;i++))
do
ping -c1 -w1 172.25.254.KaTeX parse error: Expected 'EOF', got '&' at position 15: i > /dev/null &̲& echo 172.25.2…i is UP || echo 172.25.254.$i is DOWN
sleep 1
done
注释:
/dev/null ##将冗余的输出信息导入到垃圾箱中
sleep 1 ##每秒刷新一次
&& ##表示若能与主机能进行通信则输出…UP
|| ##表示若不能与主机进行通信则输出…DOWN
[root@localhost mnt]# sh ip_check.sh
1
2. while循环
一般格式:
while 条件
do ##满足条件则执行动作
动作
done
1
2
3
4
实验:
[root@localhost ~]# vim while.sh
1
###################
while true ## 死循环,若没有外界条件的干扰,则会一直循环不停止
do
echo -n uptime
echo -ne “\r” ## -e表示解析 ,-r表示回车,即覆盖上一秒的输出信息
sleep 1 ## 每秒刷新一次
done
[root@localhost ~]# sh while.sh
^C:37:17 up 58 min, 3 users, load average: 0.14, 0.05, 0.06
1
2
批量创建用户并给其设定密码为123
##非交互式设定用户密码
[root@localhost mnt]# echo "123" | passwd student --stdin
[root@localhost mnt]# ls /home
student
[root@localhost mnt]# vim user.sh
1
2
3
4
4. if语句
if语句的一般形式:
(1).单个条件
if 条件 ##满足条件则执行命令1,否则执行命令2
then 命令1
elif 命令2
(2).多个条件
if 条件1
then 执行命令1
elif 条件2
then 执行命令2
.....
else 执行命令3
fi
几种常见的退出方式:
exit ##退出当前脚本
break ##退出当前循环
continue ##提前退出当前循环,进入下一次循环
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
实验:
5. case语句
一般用于多个条件的判断
1) case语句的一般格式
case 变量名 in
常量1) ##可以用于判断多个条件;当常量1与变量名相同时,执行命令1,以此类推
命令1
;;
常量2)
命令2
esac
1
2
3
4
5
6
7
2) if语句与case语句的区别
if语句中的条件判断是从上到下顺序依次判断
case语句中的条件判断是同步的
---------------------
Shell脚本之for循环、while循环,if语句、case语句的更多相关文章
- Shell脚本的条件控制和循环语句
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...
- shell脚本学习—条件测试和循环语句
条件测试 1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假, 则命令的Exit Status为1(注意与 ...
- Shell脚本笔记(八)循环
循环 一.whlie和until循环 while循环基本语法: while <条件表达式> do 指令 done #注意代码缩进 util循环基本语法: until <表达式> ...
- shell脚本编程基础之for循环
循环结构 循环需要有进入条件和退出条件,如果没有退出条件,则就会一直循环下去 for 变量 in 列表:do 循环体 done 生成列表及示例 {1..100}:生成1到100的整数列表 `comma ...
- Shell脚本中的for case while循环流程控制语句的使用
shell作为一种脚本编程语言,同样包含循环.分支等其他程序控制结构,从而轻松完成更加复杂.强大的功能. 编写脚本的思路 1 明确脚本的功能 2 编写脚本时会使用到那些命令 ? 3 把变化的 ...
- shell编程基础(二): shell脚本语法之分支语句和循环语句
一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与 ...
- shell脚本-循环选择语句
shell脚本-循环选择语句 过程式编程语言: 顺序执行 选择执行 循环执行 注:条件中的变量,可以在执行语句中使用,不用在加上"$". if语句 根据命令的退出状态来执行命令 单 ...
- Shell脚本关于循环的一些总结
不管是哪一门计算机语言,循环都是不可绕开的一个话题,Shell 当然也不是例外.下面总结一些 Shell 脚本里常用的循环相关的知识点,新手朋友可以参考. for 循环 Shell 脚本里最简单的循环 ...
- shell脚本基础 循环机构
循环结构 for循环格式一格式:for 变量 in 值1 值2 ........(值不一定是数字,可以是命令或者其他的)do 命令done [root@ceshiji ~]# vim a.sh #!/ ...
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载
http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...
随机推荐
- HDU - 4006 The kth great number multiset应用(找第k大值)
The kth great number Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming ...
- c# 调用 webservices (转载)
.net 调用webservice 总结 最近做一个项目,由于是在别人框架里开发app,导致了很多限制,其中一个就是不能直接引用webservice . 我们都知道,调用webserivice 最简单 ...
- 关于`babel-loader`和`babel-core`版本兼容性问题
1. 安装babel-loader和babel-core出现问题 1.1 安装babel的转换工具包: npm i babel-core babel-loader babel-plugin-trans ...
- 聪明的质监员(codevs 1138)
题目描述 Description 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有n 个矿石,从1到n 逐一编号,每个矿石都有自己的重量wi 以及价值vi.检验矿产的流程是:见图 ...
- Eclipse mybatis中XML的自动提示
1. 从mybatis-3.1.1.jar中解压出dtd文件 2. 3. 复制红线处内容 4. 将上步中内容粘贴到key中
- Response.Redirect 产生的“正在中止线程”错误
Response.Redirect 产生的“正在中止线程”错误 今天在开发调试过程中,出现在一个 "正在中止线程"异常信息. 调用Response.Redirect()方法产生的, ...
- redis集群模式
1 弊端和优势 弊端:相比单机模式,集群模式会在节点之间同步数据,会降低20%-30%的性能,同时增加架构复杂性,提高硬件成本和学习成本. 优势:增加冗余,避免单点故障.单机模式如果要重启,必然会丢失 ...
- Php对象及对象特性篇
前言 以前写C++最多,大二课上学过Java.现在也差不多还给老师了.现在决定针对php重新梳理一遍,夯实基础,设计模式学起来应该会更加得心应手吧. 介绍 对象作为数据和功能代码的集合,是程序开发和代 ...
- python之生成器(~函数,列表推导式,生成器表达式)
一.生成器 概念:生成器的是实质就是迭代器 1.生成器的贴点和迭代器一样,取值方式也和迭代器一样. 2.生成器一般由生成器函数或者声称其表达式来创建,生成器其实就是手写的迭代器. 3.在python中 ...
- APACHE服务器httpd.exe进程占用cpu100%的解决方法
httpd.exe进程占用cpu%100,关闭掉AppServ服务,cpu应用率立刻下降到0. 重新启动AppServ又出现占用cpu高的情况. 原因,httpd.exe和防火墙配置有冲突. 解决方法 ...