Shell学习(六)——条件判断总结
Shell学习(六)——条件判断总结
[1]https://www.cnblogs.com/zhw-626/p/8528001.html
[2]https://www.cnblogs.com/yizhinantian/p/3540114.html
通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格
一、文件判断
1、按照文件类型进行判断
测试选项 作用
-b 文件 判断文件是否为块设备文件并且存在
-c 文件 判断文件是否为字符设备文件并且存在
-d 文件 判断文件是否为目录类型并且存在
-e 文件 判断文件是否为文件类型并且存在
-f 文件 判断文件是否为普通文件并且存在
-L 文件 判断文件是否为符号链接文件并且存在
-p 文件 判断文件是否为管道文件并且存在
-s 文件 判断文件是否非空
-S 文件 判断文件是否为套接字文件并且存在
例:[ -d /root] && echo "yes" || echo "no"
2、按照文件权限进行判断
测试选项 作用
-r 文件 判断文件是否有读权限
-w 文件 判断文件是否有写权限
-x 文件 判断文件是否有执行权限
-u 文件 判断文件是否有SUID权限
-g 文件 判断文件是否有SGID权限
-k 文件 判断文件是否有SBit权限
3、两个文件之间判断
测试选项 作用
文件1 -nt 文件2 判断文件1的修改时间是否比文件2的新
文件1 -ot 文件2 判断文件1的修改时间是否比文件2的旧
文件1 -ef 文件2 判断文件1是否和文件2的Inode号一致
二、数值类型判断
1、两个整数之间比较
测试选项 作用
整数1 -eq 整数2 判断 =
整数1 -ne 整数2 判断 !=
整数1 -gt 整数2 判断 >
整数1 -lt 整数2 判断 <
整数1 -ge 整数2 判断 >=
整数1 -le 整数2 判断 <=
三、字符串类型判断
1、字符串判断
测试选项 作用
-z 字符串 判断字符串是否为空
-n 字符串 判断字符串是否为非空
字符串1 == 字符串2 判断字符串1是否和字符串2相等
字符串1 != 字符串2 判断字符串1是否和字符串2不相等
四、多重条件判断
测试选项 作用
判断1 -a 判断2 逻辑与
判断1 -o 判断2 逻辑或
! 判断 逻辑非
Shell学习(六)——条件判断总结的更多相关文章
- Shell学习笔记 - 条件判断式
1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ] -- 推荐使用 例: [ -e /root/install.log ] ...
- Shell脚本IF条件判断和判断条件总结
转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结 ...
- Shell学习之条件测试(四)
Shell学习之条件测试 目录 逻辑测试 文件测试 数值比较 字符串比较 逻辑测试 格式: [ 表达式 ] 操作符 [ 表达式2 ] …… 命令1 操作符 命令2 …… 常用的操作符 ( 注意:-a和 ...
- shell中的条件判断以及与python中的对比
shell中比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格. if ....; then ...
- shell编程2 ---条件判断语句
shell编程2 一.条件判断语句 1.按照文件类型进行判断 eg:test -e /etc/passwd 或者 [ -e /etc/passwd ] &&echo yes || ...
- linux shell中的条件判断语句
http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...
- python学习第六天 条件判断和循环
总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...
- Python学习之条件判断和循环
#coding= utf-8 # 条件判断和循环 # 如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做 age1 = 20 if age1 >= 18: prin ...
- python学习_条件判断语句_if
#条件判断语句(if)#语法:if条件表达式:语句# 代码块#执行流程:if语句在执行时,会先对条件表达式进行求值判断#如果为True,则执行if后面的语句#如果为False,则不执行#默认情况下,i ...
随机推荐
- 恶意代码分析实战四:IDA Pro神器的使用
目录 恶意代码分析实战四:IDA Pro神器的使用 实验: 题目1:利用IDA Pro分析dll的入口点并显示地址 空格切换文本视图: 带地址显示图形界面 题目2:IDA Pro导入表窗口 题目3:交 ...
- shell 脚本静默安装oracle11g
以下脚本的手动安装连接: https://www.cnblogs.com/leihongnu/p/12698593.html [ #/bin/bash#安装日志touch /root/message ...
- Trap (陷入/中断) 源码解析
用户空间和内核空间之间的切换通常称为trap trap的三种形式 系统调用引发 异常发生 设备中断 (时间中断.IO中断.网络中断等) supervise mode的权限 用户态和内核态之间的到底有什 ...
- Redis 专栏(使用介绍、源码分析、常见问题...)
一.介绍相关 说Redis : 介绍Redis特性,使用场景,使用Jedis操作Redis等. 二.源码分析 1. 数据结构 Redis源码分析(sds):Redis自己封装的C语言字符串类型. Re ...
- Linux下安装、配置、启动与访问RabbitMQ
一.下载 首先第一步要下载三个rpm安装包,为了方便安装与学习,给出下载途径 网盘网址:https://pan.baidu.com/s/18Z64Lb9KQpRh10RzqZBdoQ 提取码:094v ...
- NCF 中如何将Function升级到FunctionRender
简介 历史的车轮在不断的向前推进,NCF也在不断的迭代更新,只为成为更好的NCF 如果你之前没有用过NCF可以跳过这个文档,直接去下载最新的NCF源码进行实践. NCF仓库地址:https://git ...
- webpack 之js兼容性处理
webpack 之js兼容性处理 // 用来拼接绝对路径的方法 const {resolve} = require('path') const HtmlWebpackPlugin = require( ...
- Springboot 整合RabbitMq ,用心看完这一篇就够了
该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct.Topic.Fanout的使用,消息回调.手动确认等. (但是 ...
- 第六周PTA笔记 括号匹配调整+堆放石子+最大积分+168
括号匹配调整 如果通过插入" +"和" 1"可以从中得到格式正确的数学表达式,则将带括号的序列称为正确的. 例如,序列 "(())()",& ...
- go微服务框架Kratos笔记(一)入门教程
kratos简介 Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关功能及工具 本文基于kratos v2.0.3,windows平台,其他系统平台均可借鉴参考 环境搭建 Golang开发 ...