1. 按照文件类型判断

-b 文件  #判断文件是否存在,并且是设备文件

-c 文件  #判断文件是否存在,并且是字符设备文件

-d 目录  #判断目录是否存在,并且是否为目录(是目录返回真)

-e 文件  #判断文件是否存在

-f 文件  #判断文件是否存在,并且是否是普通文件

-L 文件  #判断文件是否存在,并且是否为符号链接文件

-p 文件  #判断该文件是否存在,并且是否为管道文件

-s 文件  #判断文件是否存在,并且是否非空(非空为真)

-S文件  #判断文件是否存在,并且是否为套接字文件

使用方式1:

test -e a.txt;echo $?  #其中test -e a.txt;是判断文件a.txt是否存在,echo $?是用来查询上一个命令的执行结果,结果为0表示执行成功否则失败。

使用方法2:

[ -e a.txt ];echo $?  #注意:[]里边的两头必须有空格

通常获取判断结果的方式为:

[ -e a.txt ] && echo "yes" || echo "no"

2. 按照问价权限进行判断

-r  文件  #判断文件是否存在,且具有读权限

-w 文件  #判断文件是否存在,且具有写权限

-x 文件  #判断文件是否存在,且有执行权限

-u 文件  #判断文件是否存在,且有SUID权限

-g 文件  #判断文件是否存在,且有SGID权限

-k 文件  #判断文件是否存在,且具有SBit权限

举例:[ -w /root/a.txt ] && echo "yes" || echo "no"

3. 两个文件之间进行比较

文件1 -nt 文件2  #判断文件1的修改时间是否是比文件2的新(如果新返回真)

文件1 -ot 文件2  #判断文件1的修改时间是否比文件2的修改时间旧(如果文件1的旧则返回真)

文件1 -ef 文件2  #判断文件1和文件2的Inode号是否一致,可以理解为两个文件是否为同一文件。每个文件都有唯一的Inode号。这个判断可以用于判断硬链接的很好方法。

4. 两个整数之间的比较

整数1 -eq 整数2  #判断整数1和整数2是否相同

整数1 -ne 整数2  #判断整数1和整数2是否不相等(不相等位置)

整数1 -gt 整数2  #判断整数1是否大于整数2

整数1 -lt 整数2  #判断整数1是否小于整数2

整数1 -ge 整数2  #判断整数1是否大于等于整数2

整数1 -le 整数2  #判断整数1是否小于等于整数2

5. 字符串的判断

-z 字符串  #判断是否为空(为空返回真) 例如:[ -z "$name" ]

-n 字符串  #判断是否串是否非空(非空返回真)

字符串1 == 字符串2  #判断字符串1是否和字符串2相等

字符串1 != 字符串2  #判断字符串1是否和字符串2不相等

6. 多重条件判断

判断1 -a 判断2  #逻辑与

判断1 -o 判断2  #逻辑或

!判断  #逻辑非

 

Linux 条件判断的更多相关文章

  1. linux 条件判断式

    1.利用if ...then if [ 判断条件 ];then 指令 fi 实例一 Y/N: #!/bin/bash #Program: # This program shows "Hell ...

  2. linux条件判断:eq、ne、gt、lt、ge、le

    -eq(equal) :判断是否相等,相等为真 -ne(inequality):判断是否不等,不等为真 -gt(greter than):判断是否大于,大于为真 -lt(less than):判断是否 ...

  3. Linux学习之第十九、条件判断

    原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_4.php 条件判断式 只要讲到『程序』的话,那么条件判断式,亦即 ...

  4. linux Shell中常用的条件判断

    linux Shell中常用的条件判断 -b file            若文件存在且是一个块特殊文件,则为真 -c file            若文件存在且是一个字符特殊文件,则为真 -d ...

  5. Linux shell if条件判断2

    前面介绍linux shell的if判断的语法,现在再补充一点. Linux shell if条件判断1 分支判断结构     if , case   下面两个结构语法,已经在前面有过示例. 结构1: ...

  6. Linux shell脚本之 if条件判断 (转)

    IF条件判断 1.基本语法: if [ command ]; then 符合该条件执行的语句 fi 2.扩展语法: if [ command ];then 符合该条件执行的语句 elif [ comm ...

  7. Linux makefile教程之条件判断六[转]

    使用条件判断 —————— 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支.条件表达式可以是比较变量的值,或是比较变量和常量的值. 一.示例 下面的例子,判断$(CC)变量是否“g ...

  8. LINUX SHELL条件判断

    算术运算的条件判断 [] [[]]: -eq -ne -lt -le -gt -ge (( )):><>=<== [root@monitor ~]# if (( 2 == 3) ...

  9. Linux学习 -- Shell编程 -- 条件判断

    按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ]   注意空格  适合用于脚本中 echo $?可以看到结果 [ - ...

随机推荐

  1. js 获取当前日期时间3种格式化方法 yyyy-mm-dd hh:MM:ss

    方法一: Date.prototype.format = function (format) { var args = { "M+": this.getMonth() + 1, & ...

  2. PgSQL dump 工具

    #!/bin/bash #Auther Sun Ying ##Copy left ##Version: Demo Version ##Basic Compare the datebase change ...

  3. c#全局鼠标事件以及鼠标事件模拟

    最近在编写Max插件时,其主容器FlowLayoutPanel由于隐藏了滚动条,要实现按住鼠标中键上下拖动的功能,因此尝试了全局鼠标事件.以及鼠标勾子,可惜由于Max不争气?都未能实现,于是代码报废, ...

  4. javaWeb学习-----session

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...

  5. PowerDesigner 逆向中 Name和Comment互换

    在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文.Name用来显 示,Code在代码中使用,但Comment中的文字会保 ...

  6. ping命令

    ping命令能够用于判断一个主机是否可达或者是否存活.它的工作原理就像潜水艇的探测原理一样.该命令通过向目标计算机发送一个数据包,请求目标计算机回送该数据包以表明自己还存活着.同时该命令还能够知道数据 ...

  7. java类型占用字节数&类型转换

    1.整型类型              存储需求     bit数    取值范围      备注int                 4字节           4*8 short         ...

  8. vim编辑器详解

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率. vi是“visual interface”的 ...

  9. Lisp中编写宏的步骤以及规范

    一.编写步骤 1.编写示例的宏调用以及它应当展开的代码,反之亦然. 2.编写从示例调用中生成手写展开式的代码. 3.确保宏抽象不产生"泄露". 二.遵循规则 1.除非有特殊理由,否 ...

  10. 移植milo的全局光照渲染器代码

    测试flascc的性能优化程度,http://bbs.9ria.com/thread-162705-1-1.html . 可以对比下猫粮的http://bbs.9ria.com/thread-5820 ...