Shell编程之条件语句

  • 一、条件测试操作
    • 1.test命令
    • 2.文件测试
    • 3.整数值比较
    • 4.字符串比较
    • 5.逻辑测试
  • 二、if语句
    • 单分支结构
    • 双分支结构
    • 多分支结构
  • 三、case分支语句

一、条件测试操作

1.test命令

测试表达式是否成立,若不成立返回0,否则返回其他数值

格式1:test 条件表达式
格式2:[ 条件表达式 ]

2.文件测试

[ 操作符 文件或目录 ]

常用的测试操作符

常用的操作符 作用
-d 测试是否为目录(Directory)
-e 测试目录或文件是否存在(Exist)
-f 测试是否为文件(File)
-r 测试当前用户是否有权限读取(Read)
-w 测试当前用户是否有权限写入(Write)
-x 测试当前用户是否有权限执行(Excute)


3.整数值比较

 [ 整数1 操作数 整数2 ]
常用的测试操作符:
-eq      #等于(Equal)
-ne      #不等于(Not Equal)
-gt      #大于(Greater Than)
-lt      #小于(Lesser Than)
-le      #小于或等于(Lesser or Equal)
-ge      #大于或等于(Greater or Equal)



4.字符串比较

格式1  [ 字符串1 = 字符串2 ][ 字符串1 != 字符串2 ] 格式2 [ -z 字符串 ]
=:第一个字符串与第二个字符串相同!=:第一个字符与第二个字符串不相同,“!”表示取反-z:字符串内容为空-n:是否有字符串存在

5.逻辑测试

格式1:[ 表达式1 ] 操作符 [ 表达式2 ]
格式2:命令1 操作符 命令2

常用的操作符:

-a或&& :逻辑与,“而且”的意思,前后条件需都成立
-o或|| :逻辑或,“或者”的意思,只需前后条件中一个成立
! :逻辑否
a=5
[ $a -ne 1 ] && [ $a != 2 ]    等同于 [ $a -ne 1 -a $a != 2 ]#、&&、||操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错
[[ $a -ne 1 && $a != 2 ]]
[ 2 -lt 3 ] && echo true || echo false
[ 2 -ge 3 ] && echo true || echo false

vim pinghost.sh
#!/bin/bash
ping -c 3 -i 0.5 -W 2 $1 &> /dev/null && echo "$1 online" || echo "$1 off"-c:发送包的个数
-i:发送包的间隔时间
-W:超时时间
-w:多少秒后停止 ping 命令操作


二、if语句

单分支结构

格式:
if 条件测试操作
then
命令序列
fi
三种表达方式
方法一:
if [ 3 -gt 2 ]thenecho "ok"
fi方法二:
if [ 3 -gt 2 ]; then echo "ok"; fi方法三:
[ 3 -gt 2 ] && echo "ok"

双分支结构

格式:
if 条件测试操作
then
命令序列 1
else
命令序列 2
fi



多分支结构

格式:
if 条件测试操作 1
then
命令序列 1
elif 条件测试操作 2
then
命令序列 2
[else]
[命令序列 3]
fi

示例:提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,
如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误

三、case分支语句

case 变量值 in
模式一)命令序列
;;
模式二)命令序列
;;
……
*)默认命令序列
esac

示例:

Shell编程之条件语句(if语句,case分支语句)相关推荐

  1. shell编程之条件语句(文件测试,test命令,字符串和逻辑测试,if单支语句,if双支语句,if多支语句,case命令,用if写跑步小实验)

    文章目录 shell编程之条件语句 条件测试 test命令 整数值测试 free -m 提供了更简洁的查看系统内存使用情况: 字符串和逻辑测试 字符串 逻辑测试 一元运算符,二元运算符和三元运算符 i ...

  2. shell脚本详解(二)——条件测试、if语句和case分支语句

    shell脚本详解(二)--条件测试.if语句和case分支语句 一.条件测试 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if条件语句 1.单分支 2.双分支 ...

  3. Linux网络服务与shell脚本——Shell编程之条件语句

    第八章 Shell编程之条件语句 一.条件测试 1.测试命令 (1)test 条件表达式 (2)[条件表达式] (3)$?:根据返回值判断前者是否成立 2.文件测试:根据指定路径名称,判断对应文件或目 ...

  4. Shell编程之条件语句(if单分支、双分支、多分支、case多分支)

    文章目录 1.条件测试操作 2.if语句的结构 1.单分支结构 2.双分支语句 3.多分支结构 4.case多分支语句 1.条件测试操作 test命令测试表达式是否成立,若成立返回0,否则返回其他数值 ...

  5. 你说shell编程的条件语句太难,我说那是你没看过这篇博客。

    文章目录 一.条件测试操作 (一). 条件测试操作 1.test命令 (二).文件测试 1.文件测试基本格式 2.常见的测试操作符 (三).整数测试 1.整数值比较 2.常用的测试操作符 (四).字符 ...

  6. Shell编程之条件语句

    目录 条件测试 条件测试操作-1 条件测试操作-2 条件测试操作-3 条件测试操作-4 条件测试操作-5 条件测试操作-6 条件测试操作-7 if语句的结构 单分支结 双分支结构 case语句结构 条 ...

  7. Shell编程(脚本)的常用命令和语句

    一些常用的Shell编程(脚本)命令和语句,可以满足一般需求. 接收到的命令参数: 参数个数: $# 参数值: 命令本身:$0 第一个参数:$1 第二个参数:$2 -- 退出命令: exit echo ...

  8. linux判断搜索结果,shell编程之条件判断和find查询

    使用read 来把输入值分配给一个或多个shell 变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量 所有剩余单词都被分配给最后一个变量 read ...

  9. 【C语言初阶】C语句成员1:分支语句

    目录 C语言中的3种结构 什么是语句 分支(选择)语句 if语句 switch语句 C语言中的3种结构 我们在了解C语言的语句之前,应先了解C语言中的基本程序结构,从程序流程的角度来看,程序可以分为三 ...

最新文章

  1. 三菱gs触摸屏进入设定菜单_三菱触摸屏常用功能设置 以及界面调整
  2. Python: The _imagingft C module is not installed错误的解决
  3. 20 岁发表 SCI 的学霸,梦想用算法改变世界
  4. NodeJS开发环境配置
  5. 【CCF】201812-2小明放学
  6. html中文案竖排怎么写,做了这个活动,感觉自己成了垂直排版css大师(文字竖排)...
  7. jenkins配置ssh免密码登陆
  8. Linux学习——磁盘分区管理
  9. 编译安装nginx并修改版本头信息—参考实例
  10. USE_DB_RECOVERY_FILE_DEST的使用详解(转载)
  11. keytool-JDK导入证书
  12. JS求最小公倍数(高效算法1-短除法)
  13. 战神引擎 过黄列表教程
  14. 西电计算机组织与体系结构实验,《计算机组织与体系结构》实验.doc
  15. 控制工程/机器人SLAM/机器视觉/避障导航/求职笔记
  16. 栖与谁邻解析:百度网盟操作要筛选哪种无效投放网站, 哪些网站要屏蔽
  17. 高职院校文学鉴赏教学中培养学生的主体性策略
  18. 【渝粤教育】电大中专跨境电子商务理论与实务 (11)作业 题库
  19. MTK(mt6797)-DTS修改---I2C设备(Kernrl3.18)
  20. 一些有用的手机软件(好多美化软件)

热门文章

  1. C++中的继承(一)
  2. 你会在你的WebRTC 应用程序中使用哪种视频编解码器呢?
  3. LiveVideoStack 2020 年度盘点
  4. 深度学习为图片压缩算法赋能:节省55%带宽
  5. 1.RTMP流媒体服务器搭建
  6. 剑指offer之26-30题解
  7. Java基础之String深入解析
  8. 微服务架构系列二:密码强度评测的实现与实验
  9. 首届Hadoop技术社区中国meetup来袭!对外报名正式启动!
  10. Axure RP 7.0团队项目使用笔记