Linux中的判断式
格式一:test [参数] 判断内容
格式二:[ [参数] 判断内容 ]
说明:
a.格式二可以认为是格式一的缩写
b.格式二里中括号和内容之间要有空格
基于文件的判断
-d 判断文件是否存在,并且是目录文件
-e 判断文件是否存在
-f 判断文件是否存在,并且是普通文件
-l 判断文件是否存在,并且为符号连接文件
[root@localhost temp]# test -e /etc/passwd
[root@localhost temp]# echo $?
0
[root@localhost temp]# [ -e /etc/passwd ]
[root@localhost temp]# echo $?
0
[root@localhost temp]# [ -d /root ] && echo "yes" || echo "no"
yes
基于文件权限的判断
-r 文件 判断文件是否存在,并且拥有读权限
-w 文件 判断文件是否存在,并且拥有写权限
-x 文件 判断文件是否存在,并且拥有执行权限
[root@localhost temp]# [ -r data.txt ] && echo "yes" || echo "no"
yes
两个文件之间的比较
文件1 -nt 文件2 文件1的修改时间比文件2新
文件1 -ot 文件2 文件1的修改时间比文件2晚
文件1 -ef 文件2 文件1和文件2的inode号是否一样
[root@localhost temp]# ln /xiaol/temp/data.txt /xiaol/temp/lndata.txt
[root@localhost temp]# [ /xiaol/temp/data.txt -ef /xiaol/temp/lndata.txt ] && echo "yes" || echo "no"
yes
两个整数之间的比较
用的是:-eq -ne -gt -lt -ge -le这些,就不多解释了
[root@localhost temp]# [ 23 -ge 22 ] && echo "yes" || echo "no"
yes
两个字符串之间的比较
-z 字符串 判断字符串是否为空
-n 字符串 判断支付传是否为非空
串1 == 串2 两个字符串相等
串1 != 串2 两个字符串不相等
[root@localhost temp]# a=1
[root@localhost temp]# b=2
[root@localhost temp]# [ "$a" == "$b" ] && echo "yes" || echo "no"
no
[root@localhost temp]# name=xiaol
[root@localhost temp]# [ -z "$name" ] && echo "yes" || echo "no"
no
多个判断一起执行
判断1 -a 判断2 逻辑与
判断1 -o 判断2 逻辑或
! 判断1 逻辑非
Linux中的判断式的更多相关文章
- Linux学习-善用判断式
利用 test 指令的测试功能 要检测系统上面某些文件或者是相关的属性时,利用 test 这个指令来工作真是好用得不 得了, 举例来说,我要检查 /dmtsai 是否存在时,使用: [dmtsai@s ...
- linux 中 && 及|| 判断原理
[root@linuxprobe ~]# [ $USER = root ] && echo "root" || echo "user"root[ ...
- linux bash善用判断式
1.利用 test 指令的测试功能 $ test -e hello.sh && echo "ok" || echo "no" ok 2.首先,判 ...
- 浅谈Linux中的各种锁及其基本原理
本文首发于:https://mp.weixin.qq.com/s/Ahb4QOnxvb2RpCJ3o7RNwg 微信公众号:后端技术指南针 0.概述 通过本文将了解到如下内容: Linux系统的并行性 ...
- Linux中的各种锁及其基本原理
Linux中的各种锁及其基本原理 1.概述 通过本文将了解到如下内容: Linux系统的并行性特征 互斥和同步机制 Linux中常用锁的基本特性 互斥锁和条件变量 2.Linux的并行性特征 Linu ...
- linux中判断一个命令是否执行成功
每一条基本命令执行后都有一个返回码,该返回码是用$?表示,执行成功的返回码是0,例如:if [ $? -ne 0 ];then 上一命令执行失败时的操作else 上一命令执行成功时的操作fi例如lin ...
- Linux学习十八之、善用判断式
原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_3.php 善用判断式 在第十一章中,我们提到过 $? 这个变量所 ...
- Linux程序开发中如何判断目录是否为根目录?
问题引入 判断某个目录字符串是否是根目录,咋一听很简单,只要判断字符串是否是"/"即可,但是,很多情况下使用的路径是相对路径,那么如何判断相对路径是根目录呢? 思路分析 熟悉Lin ...
- 聊聊 Linux 中的五种 IO 模型
本文转载自: http://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666538919&idx=1&sn=6013c451 ...
随机推荐
- 《C#程序设计教程 -李春保》阅读笔记
<C#程序设计教程 -李春保>阅读笔记 ( 需注意程度:红>粗体>下划线,蓝色:我的疑问 ) 老师的引言 [师]对待一种新语言的关注点 数据类型定义(python不用定 ...
- TCP/IP ---互联网的地址
互联网上的每个接口必须有一个唯一的I n t e r n e t地址(也称作I P地址). I P地址长32 bit.I P地址具有一定的结构,五类不同 的互联网地址格式如图1 - 5所示. 这些3 ...
- 【收藏】15个常用的javaScript正则表达式(转)
0 前言 收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期 ...
- Redis之Hash数据结构
0.前言 redis是KV型的内存数据库, 数据库存储的核心就是Hash表, 我们执行select命令选择一个存储的db之后, 所有的操作都是以hash表为基础的, 下面会分析下redis的hash数 ...
- Apache配置文件详解
1.1 ServerRoot 配置 [ServerRoot "" 主要用于指定Apache的安装路径,此选项参数值在安装Apache时系统会自动把Apache的路径写入.Windo ...
- position与float属性的使用
1.使用float时,可以说是用于布局,取值主要有left.right.none.就是将该块的元素浮动起来,在浏览器默认的情况下,该元素的位置是为空的, 即脱离了文档流而存在,如果有其他元素,那么这些 ...
- js中级系列三:前端性能优化
原文链接:http://www.cnblogs.com/xxcanghai/p/5205998.html 链接:http://www.zhihu.com/question/21658448/answe ...
- spring reactor记录操作日志
1.注册日志的类: @Configuration@EnableReactorpublic class ReactorConfig { /** * * 〈注册审计日志 Reactor〉 */ @Bean ...
- 活动招募 HUAWEI HiAI公开课·北京站-如何在4小时把你的APP变身AI应用
人工智能和机器学习是全球关注的新趋势,也是当前最火爆.最流行的话题.当你拿手机用语音助手帮你点外卖,智能推荐帮你把周边美食一网打尽:当你拿起P20拍照时,它将自动识别场景进行最美优化,让你成为摄影大师 ...
- 深度历险:Redis 内存模型详解
https://mp.weixin.qq.com/s/Gp6Ur7omGY6ZqDWygU2meQ Redis 是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说 Redi ...