02 shell编程之条件语句
Shell编程之条件语句
学习目标:
掌握shell脚本条件测试
掌握if语句编程
目录结构:
条件测试
条件测试概述
l 对特定的条件进行判断,以决定如何执行操作
l 测试的方法
方法1:test 条件表达式
方法2:【条件表达式】
l 当条件成立时,测试语句的返回值为0,否则为其他数值
条件测试的分类
1、 文件测试
2、 整数测试
3、 字符串测试
4、 逻辑测试
文件测试
l 格式:【 操作符 文件或目录 】
l 常用的测试操作符
-d:测试是否为目录(directory)
-e:测试目录或文件是否存在(exist)
-f:测试是否为文件(file)
-r:测试当前用户是否可读(read)
-w:测试当前用户是否可写(write)
-x:测试当前用户是否可执行(excute)
实例:
[root@poll ~]# [ -d /etc ]
[root@poll ~]# echo $?
0
[root@poll ~]# [ -d /etc/profile ]
[root@poll ~]# echo $?
1
[root@poll ~]# [ -d /etc ]&&echo "yes" //&&意思是前面执行成功载执行后面
Yes
整数测试
l 格式:[ 整数1 操作符 整数2 ]
l 常用的测试测试操作符
-eq:等于(equal)
-ne:不等于(not equal)
-gt:大于(greater than)
-lt:小于(lesser than)
-le:小于或等于(lesser or equal)
-ge:大于或等于(greater or equal)
实例:
[root@poll ~]# who |wc -l
3
[root@poll ~]# [ `who |wc -l` -gt 5 ] && echo too many
[root@poll ~]# [ `who |wc -l` -gt 2 ] && echo too many
too many
字符串测试
l 格式1:
[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
l 格式2:
[ -z 字符串 ]
常用的测试操作符:
=:字符串内容相同
!=:字符串内容不同
-z:字符串内容为空
实例:
[root@poll ~]# echo $LANG
zh_CN.UTF-8
[root@poll ~]# [ $LANG!="en.US" ] && echo "Not en.US"
Not en.US
逻辑测试
l 格式1:
[ 表达式1 ] 操作符 [ 表达式2 ] …
命令1 操作符 命令2 …
l 常用的测试操作符
-a或&&:逻辑与,“而且”的意思,两个表达式都要执行成功
-o或||:逻辑或,“或者”的意思,有一个执行成功就行了
!:逻辑否
实例:
[root@poll ~]# [ -d /etc ] && [ -r /etc ] && echo "you can open it"
you can open it
[root@poll ~]# [ -f /etc ] || [ -d /home ] && echo ok
Ok
If语句
If单分支语句
l If单分支语句结构
if 条件测试操作
then 命令序列
fi
if执行成功然后执行then。if没有执行成功,啥都不干
if双分支语句结构
if 条件测试操作
then 命令序列1
else 命令序列2
fi
if执行成功,然后执行then。If没有执行成功,执行else
实例:
[root@poll ~]# cat a.sh
#!/bin/bash
#This is my first shell-script
#2018-03-16
read -p "请输入你的性别:" one
if [ $one = 男 ]
then
echo "you are handsome"
else
echo "you are beautiful"
fi
[root@poll ~]# sh a.sh
请输入你的性别:男
you are handsome
[root@poll ~]# sh a.sh
请输入你的性别:女
you are beautiful
if多分支语句
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else 命令序列3
fi
条件测试操作1执行成功,执行命令序列1;失败则执行条件测试2,条件测试2执行成功则执行命令序列2,失败则执行命令序列3。
实例:
[root@poll ~]# vi b.sh
#!/bin/bash
#This is …
read -p " 请输入你的年龄:" one
if [ $one -le 18 ]
then echo "you are young"
elif [ $one -gt 18 ] && [ $one -le 60 ]
then echo "you are so happy"
else echo "you are old"
fi
[root@poll ~]# sh b.sh
请输入你的年龄:12
you are young
[root@poll ~]# sh b.sh
请输入你的年龄:19
you are so happy
接下来讲case语句
转载于:https://www.cnblogs.com/tzlsj/p/9150096.html
02 shell编程之条件语句相关推荐
- shell编程之条件语句(文件测试,test命令,字符串和逻辑测试,if单支语句,if双支语句,if多支语句,case命令,用if写跑步小实验)
文章目录 shell编程之条件语句 条件测试 test命令 整数值测试 free -m 提供了更简洁的查看系统内存使用情况: 字符串和逻辑测试 字符串 逻辑测试 一元运算符,二元运算符和三元运算符 i ...
- Shell编程之条件语句(if语句,case分支语句)
Shell编程之条件语句 一.条件测试操作 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if语句 单分支结构 双分支结构 多分支结构 三.case分支语句 一.条 ...
- Linux网络服务与shell脚本——Shell编程之条件语句
第八章 Shell编程之条件语句 一.条件测试 1.测试命令 (1)test 条件表达式 (2)[条件表达式] (3)$?:根据返回值判断前者是否成立 2.文件测试:根据指定路径名称,判断对应文件或目 ...
- 你说shell编程的条件语句太难,我说那是你没看过这篇博客。
文章目录 一.条件测试操作 (一). 条件测试操作 1.test命令 (二).文件测试 1.文件测试基本格式 2.常见的测试操作符 (三).整数测试 1.整数值比较 2.常用的测试操作符 (四).字符 ...
- Shell编程之条件语句
目录 条件测试 条件测试操作-1 条件测试操作-2 条件测试操作-3 条件测试操作-4 条件测试操作-5 条件测试操作-6 条件测试操作-7 if语句的结构 单分支结 双分支结构 case语句结构 条 ...
- Shell编程之条件语句(if单分支、双分支、多分支、case多分支)
文章目录 1.条件测试操作 2.if语句的结构 1.单分支结构 2.双分支语句 3.多分支结构 4.case多分支语句 1.条件测试操作 test命令测试表达式是否成立,若成立返回0,否则返回其他数值 ...
- Shell编程之循环语句(详细讲解以及脚本案例)
Shell编程之循环语句(详细讲解以及脚本案例) 文章目录 一.for语句的结构 (一).for语句应用实例 1.示例1--批量添加用户 2.示例2--使用根据IP地址检查主机状态 3.示例3--fo ...
- shell编程之循环语句
shell编程之循环语句 文章目录 shell编程之循环语句 一.for循环语句 1. for循环语法结构 ㈠ 列表循环 2. 应用案例 二.while循环语句 1. while循环语法结构 2. 应 ...
- shell脚本编程之条件语句【二】(跟着小张一起走)
这里写目录标题 一. 条件测试 1.1 test命令 1.2 文件测试 1.3 整数值比较 1.4 字符串比较 1.5 逻辑测试 二.if条件语句结构 2.1 if单分支结构 2.2 if双分支结构 ...
- shell编程-分支语句
目标: 完成这一章,你将能够作以下事情: 描述条件分支语句中返回值的作用. 使用test命令来分析一个命令的返回值. 在shell程序中使用if和case结构. 1.返回值 shell变量&quo ...
最新文章
- 【创新培育项目】为什么要组队參加比赛?及如何寻找一个合适的选题?
- 揭秘罗永浩直播带货幕后之师
- 架构无小事:QQ碰微信 贴吧遇微博
- Velocity模板(VM)语言介绍
- python开发工具管理系统_Python之软件管理
- angular js实现开关效果
- 女程序员 一直从事着软件研发的工作
- vue ---- 组件综合案例(购物车案例)
- integer为null_走进 JDK 之 Integer
- PaaS安全:降低企业风险的四条规则
- R语言查看某个R包版本号
- SWMM建模与案例应用
- 用AI如何预测《权力的游戏》死亡名单?真是神了!
- [C++题目]:求和s=a+aa+aaa+…+aaa…a(n个a)
- 1800: 少水群多刷题
- 民航计算机初级职称有哪些,各系列专业职称资格分类一览表
- cpp-netlib笔记三-Cookie支持测试
- 虚拟化精华问答 | 为什么云计算需要虚拟化?
- 计算机保研面试准备之网络安全+软件工程
- 无线远程上下载PLC程序
热门文章
- 视频教程-计算机二级(VB)-计算机等级考试
- bootstrap 滚动 进度条_Bootstrap中的进度条
- android铃声代码,Android之来电铃声设置(示例代码)
- C语言入门 -- Simple Simon 简单的西蒙游戏(2021/1/7)
- C语言函数之可变参数原理:va_start、va_arg及va_end
- java调用百度地图的不同显示方式
- 定制Android开发者专属T恤
- C++Comb Sort梳排序的实现算法(附完整源码)
- java导航网站_java导航网站
- Win7显示器颜色不正常的原因及解决方法