文档章节

shell条件判断

mohongshu
 mohongshu
发布于 2014/07/13 16:32
字数 530
阅读 97
收藏 16
点赞 0
评论 0

-b file            若文件存在且是一个块特殊文件,则为真 
-c file            若文件存在且是一个字符特殊文件,则为真 
-d file            若文件存在且是一个目录,则为真 
-e file            若文件存在,则为真 
-f file            若文件存在且是一个规则文件,则为真 
-g file            若文件存在且设置了SGID位的值,则为真 
-h file            若文件存在且为一个符合链接,则为真 
-k file            若文件存在且设置了"sticky"位的值 
-p file            若文件存在且为一已命名管道,则为真 
-r file            若文件存在且可读,则为真 
-s file            若文件存在且其大小大于零,则为真 
-u file            若文件存在且设置了SUID位,则为真 
-w file            若文件存在且可写,则为真 
-x file            若文件存在且可执行,则为真 
-o file            若文件存在且被有效用户ID所拥有,则为真  

-z string          若string长度为0,则为真 
-n string          若string长度不为0,则为真 
string1 = string2 若两个字符串相等,则为真 
string1 != string2 若两个字符串不相等,则为真 

int1 -eq int2      若int1等于int2,则为真 
int1 -ne int2      若int1不等于int2,则为真 
int1 -lt int2      若int1小于int2,则为真 
int1 -le int2      若int1小于等于int2,则为真 
int1 -gt int2      若int1大于int2,则为真 
int1 -ge int2      若int1大于等于int2,则为真 

!expr              若expr为假则复合表达式为真。expr可以是任何有效的测试表达式 
expr1 -a expr2     若expr1和expr2都为真则整式为真 
expr1 -o expr2     若expr1和expr2有一个为真则整式为真 

       相同 -eq = 
不同 -ne != 
大于 -gt > 
小于 -lt < 
大于或等于 -ge 
小于或等于 -le 为空 -z 
不为空 -n 
比如: 
比较字符串 a 和 b 是否相等就写作:if [ $a = $b ] 
判断字符串 a 是否为空就写作: if [ -z $a ] 
判断整数变量 a 是否大于 b 就写作:if [ $a -gt $b ]

组合条件:

!:取反

-a:与条件

-o:或条件

© 著作权归作者所有

共有 人打赏支持
mohongshu
粉丝 0
博文 5
码字总数 1538
作品 0
广州
运维
shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case语句

笔记内容: 20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断 笔记日期:2017-11-22 20.5 shell脚本中的逻辑判断 在所有的编程语言中都会有if语句来进...

ZeroOne01 ⋅ 2017/11/22 ⋅ 0

shell编程入门

shell编程入门:linux命令行、重定向、管道;shell变量、shell条件判断、shell流程控制、shell函数 1.linux命令行、重定向、管道 http://my.oschina.net/shw23/blog/688280 2.shell基础 http...

shw23 ⋅ 2016/06/08 ⋅ 0

Linux学习记录--shell script

shell script shell script是利用shell的功能所写的一个程序,这个程序使用纯文本文件,将一些shell的语法和命令写在里面,搭配正则表达式,管道命令与数据流重定向等功能,达到我们想要的目...

tiankefeng0520 ⋅ 2014/03/14 ⋅ 0

shell脚本进阶

一、流程控制 流程控制语句,即用来实现对程序流程的选择、循环和返回等进行控制的语句。 1.条件判断 (1)if条件判断 普通if条件判断 格式: 嵌套if条件判断 格式: (2)case判断 简洁版多...

ZMelissa ⋅ 2017/09/17 ⋅ 0

运维的shell小编(5)

第五章、Shell基本语法 5.1shell条件测试 Shell测试有test命令和[]方式,如果结果为0表示正确,否则错误。可以测试文件状态,数值比较,逻辑测试等。 测试文件状态:-f是否为文件,-d是否为目...

wbf961127 ⋅ 2017/11/14 ⋅ 0

2018-4-18 17周1次课 shell逻辑判断、文件目录属性判断、if、case

20.5 shell脚本中的逻辑判断 ·格式1:if 条件; then 语句; fi 例:a=5 if [ $a -gt 3 ]; then echo ok; fi [root@localhost shell]# sh if1.shok ·格式2:if 条件; then 语句; else 语句;......

alexis7gunner ⋅ 04/18 ⋅ 0

用shell脚本监控进程是否存在 不存在则启动的实例

用shell脚本监控进程是否存在 不存在则启动的实例 用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/shps -fe|grep processString |grep -v grepif [ $? -ne 0 ]the...

xiaozhenkai ⋅ 2017/07/31 ⋅ 0

shell变量 和变量类型

shell是弱类型变成语言 变量赋值: VAR_NAME=VALUE 撤销变量: unset VAR_NAME 特殊变量: $? 执行状态码 $# 参数geshu $*参数列表 $@参数列表 bash: 变量类型 1、环境变量 export VAR_NAME=...

郭大侠的锅 ⋅ 2017/06/24 ⋅ 0

2016-7-2 Linux shell基础知识

静态语言:编译型语言 强类型(变量) 事先转换成可执行格式 c c++ java c# 强类型语言的变量在使用前,必选事先声明,甚至需要初始化 动态语言:解释型语言 弱类型 边解释边执行 php shell ...

cary_qin ⋅ 2016/07/02 ⋅ 0

shell脚本编程 一

一、概述 shell 脚本是自动化运维的重要工具,是每个运维人员必备的技能之一。shell 脚本与 DOS 下的批处理相似,就是将一系列命令写入一个或几个文件中,方便的一次执行。同时,shell 脚本还...

Jerry_Baby ⋅ 2014/03/30 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部