当前位置: 首页 > news >正文

Shell脚本(2)-if语句

if语句
1、什么是条件测试操作?
要使Shell脚本具有一定的“智能化”,面临的问题就是区分不同情况下以确定执行何种操作。Shell环境中根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时,表示执行成功,否则表示失败或异常。通过条件测试操作的工具-test命令,可以对特定条件进行测试。
2、条件测试分类
1)文件测试:根据给定的路径,判断是否为文件或目录。
常见选项:
■ -d:测试是否为目录
■ -f:测试是否为文件
■ -e:测试文件或目录是否存在
■ -r:测试当前用户是否有读取权限
■ -w:测试当前用户是否有写入权限
■ -x:测试当前用户是否有执行权限
Shell脚本(2)-if语句
2)整数值比较:整数值比较就是根据两个给定的整数值,判断第一个数与第二个数的大小关系
常见选项:
■ -eq:等于
■ -lt:小于
■ -gt:大于
■ -ne:不等于
■ -ge:大于等于
■ -le:小于等于
Shell脚本(2)-if语句
3)字符串比较:字符创比较通常用于检查用户输入、系统环境是否满足条件等。在通过交互式操作的Shell环境中,也可以用来判断用户输入的位置参数是否符合要求
常用操作:
■ =:第一个字符与第二个相同
■ !=:第一个与第二个字符不相同
■ -z:检查字符创是否为空
Shell脚本(2)-if语句
4)逻辑测试:判断两个条件或多个条件之间的依赖关系
■ &&:表示“而且”,只有前后两个条件都成立时,返回值为0
■ ||:表示“或者”,只要两个条件中有一个成立,返回值即为0
■ !:表示“否”
3、if语句
1)单分支if语句
if 条件测试操作
then
命令序列
fi
2)双分支if语句
if 条件测试操作
then
命令序列1
else
命令序列2
fi
3)多分支if语句
if 条件测试操作
then
命令序列1
elif 条件测试操作2
then
命令序列2
。。。
else
命令序列
fi
4、应用举例
1)新建一个脚本,用于测试成绩
Shell脚本(2)-if语句Shell脚本(2)-if语句
2)脚本
Shell脚本(2)-if语句
3)测试脚本
Shell脚本(2)-if语句
4)脚本解释
第一个条件测试操作:当输入的成绩大于等于90、小于等于100时,输出“成绩优秀”;read -p用于给“GRADE”变量赋值。

转载于:https://blog.51cto.com/13434336/2087915

相关文章:

  • spring security reactive获取security context
  • rocketMq概念介绍
  • PHP垃圾回收机制
  • SpringCloud |第三篇: 服务消费者(Feign+REST)
  • Android请求网络数据下载APK安装包
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 技术相对论之软件架构
  • Fragment 生命周期怎么来的?
  • Redis和Memcache和MongoDB简介及区别分析(整理)
  • ubuntu16.4安装最新版wine3.0
  • c++中局部变量初始化的问题
  • WordCount
  • 外卖也智能!美团骑手智能助手的技术与实践
  • 【协议转换和消息路由】camel-spring-boot-starter 实践
  • 坑货!阿里奇门中心
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Bytom交易说明(账户管理模式)
  • cookie和session
  • Django 博客开发教程 8 - 博客文章详情页
  • Java 网络编程(2):UDP 的使用
  • java8-模拟hadoop
  • magento 货币换算
  • Python学习笔记 字符串拼接
  • Redash本地开发环境搭建
  • Redis学习笔记 - pipline(流水线、管道)
  • redis学习笔记(三):列表、集合、有序集合
  • vue 个人积累(使用工具,组件)
  • vue-cli3搭建项目
  • Wamp集成环境 添加PHP的新版本
  • windows-nginx-https-本地配置
  • 笨办法学C 练习34:动态数组
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 订阅Forge Viewer所有的事件
  • 翻译:Hystrix - How To Use
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 一个SAP顾问在美国的这些年
  • 正则学习笔记
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 国内开源镜像站点
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (SpringBoot)第二章:Spring创建和使用
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (四)Controller接口控制器详解(三)
  • (四)Linux Shell编程——输入输出重定向
  • (一)为什么要选择C++
  • (转)Linux下编译安装log4cxx
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET MVC第三章、三种传值方式
  • .net 微服务 服务保护 自动重试 Polly
  • .net反编译工具