zoukankan      html  css  js  c++  java
  • shell常用的判断条件

    1、判断文件夹是否存在
    if [ -d /home/q/www ];then echo "true"; else echo "false" ;fi
    (系统内存在文件夹 /home/q/www)
    
    2、判断文件是否存在
    if [ -e /etc/passwd ];then echo "true"; else echo "false" ;fi
    if [ -f /etc/passwd ];then echo "true"; else echo "false" ;fi
    文件存在且大小大于0
    if [ -s /etc/passwd ];then echo "true"; else echo "false" ;fi
    
    3、判断文件可读
    if [ -r /etc/passwd ];then echo "true"; else echo "false" ;fi
    
    4、判断文件可写
    if [ -w /etc/passwd ];then echo "true"; else echo "false" ;fi
    
    5、判断文件可执行
    if [ -x /etc/passwd ];then echo "true"; else echo "false" ;fi
    
    6、字符串长度为0,返回真
    长度为0
    if [ -z "" ];then echo "true"; else echo "false" ;fi
    长度不为0
    if [ -z "xiaoqiang" ];then echo "true"; else echo "false" ;fi
    
    7、字符串长度不为0,返回真
    长度不为0
    if [ -n "xiaoqiang" ];then echo "true"; else echo "false" ;fi
    长度为0
    if [ -n "" ];then echo "true"; else echo "false" ;fi
    
    8、判断字符串相等
    if [ "xiaoqiang" = "xiaoqiang" ];then echo "true"; else echo "false" ;fi
    
    9、判断字符串不相等
    if [ "xiaoqiang" != "xiaoqiang" ];then echo "true"; else echo "false" ;fi
    
    10、判断整数相等
    if [ 1 -eq 1 ];then echo "true"; else echo "false" ;fi
    
    11、判断整数不相等
    if [ 1 -ne 1 ];then echo "true"; else echo "false" ;fi
    
    12、判断整数 1 < 2
    if [ 1 -lt 2 ];then echo "true"; else echo "false" ;fi
    
    13、判断整数 2 <= 2
    if [ 2 -le 2 ];then echo "true"; else echo "false" ;fi
    
    14、判断整数3 > 2
    if [ 3 -gt 2 ];then echo "true"; else echo "false" ;fi
    
    15、判断整数 3 >= 3
    if [ 3 -ge 3 ];then echo "true"; else echo "false" ;fi
    
    16、逻辑运算
    !(非)
    if [ ! 3 -ge 3 ];then echo "true"; else echo "false" ;fi
    
    -a(and)
     if [ -z "" -a 3 -ge 3 ];then echo "true"; else echo "false" ;fi
    
     -o(或)
    if [ -z "sadfsa" -o 3 -ge 3 ];then echo "true"; else echo "false" ;fi
    
    17、特殊变量
    echo "number:$#"    获取参数个数
    echo "scname:$0"    获取脚本名称
    echo "first:$1"            获取第一个参数
    echo "second:$2"         获取第二个参数
    echo "argume:$@"         获取所有参数
    echo "show parm list :$*" 数据参数的list
    echo "show process id :$$"  获取进程id
    echo "show precomm stat:$?"     获取命令执行的结果
  • 相关阅读:
    「2019冬令营提高组」原样输出
    FJWC2019
    P2763 试题库问题
    P3979 遥远的国度
    P2754 [CTSC1999]家园
    P1251 餐巾计划问题
    P1382 楼房
    P1384 幸运数与排列
    P4294 [WC2008]游览计划
    P3345 [ZJOI2015]幻想乡战略游戏
  • 原文地址:https://www.cnblogs.com/liuweiqiang/p/4105296.html
Copyright © 2011-2022 走看看