if判断常用命令选项帮助

if判断
如何判断一个文件是不是目录

if [ -d /tmp/  ];then
    echo ok.
eles
    echo failed.
    fi
    解释
        if做开头
        fi结尾
        
    格式:
        if (表达式)
            语句1
        else
            语句2
        fi
    
        如果 /tmp/是目录就返回为ok如果/tmp/不是目录就返回为failed
    -d
        查看一个文件是不是目录,用-d 如 ls -d /tmp/
    then
        然后
    elws
        否则

    
(1)    SHELL编程常见系统变量
    
    $0
        当前脚本的名称
    $n
        当前脚本的第n个参数,n=1,2,....9;
    $*
        当前脚本的所以参数(不包括程序本身);
    $#
        当前脚本的参数个数(不包括程序本身);
    $?
        命令或程序执行完后的状态,返回0表示执行成功;
    $$
        程序本身的PID号
    
(2)    SHELL编程常见环境变量
    
    PATH
        命令所示路径,以冒号为分割
    HOME
        打印用户家目录
    SHELL
        显示当前shell类型
    USER
        打印当前用户名;
    ID
        打印当前用户ID信息
    PWD
        显示当前所在的路径
    TERM
        打印当前所在路径
    TERM
        打印当前终端类型
    HOSTNAME
        显示当前主机名
    
(3)    SHELL编程用户变量:

    A=www.9527edu.org            
        自定义变量A;
    NG_SOFT=nginx-1.16.0
        自定义变量NG_SOET
    BACK_DIR=/data/backup
        自定义BACK_DIR
    IP=192.168.1.11
        自定义IP1变量
    IP2=192.168.1.12
        自定义变量IP2
    

    If条件语句实战
    
    
    -f
        判断文件是否存在eg:if[-f filename];
    -d
        判断目录是否存在eg:if[ -d dir ]
    -eq
        等于,应用于整型比较equal;
    -ne
        不等于,应用于型形比较not equal;
    -lt    
        小于,应用于整行比较letter;
    -gt
        大于,应用于整型比较greater;
    -le
        小于或等于,应用于整型比较;
    -ge
        大于或等于,应用于整型比较;
    -a
        双方都成立(and)逻辑表达式 -a 逻辑表达式;
    -o
        单方成立(or)逻辑表达式 -o 逻辑表达式
    -z
        空字符串
    ||
        单方成立;
    &&
        双方都成立表达式
    !    
        取反就是反义词

    [ ]
        bash内部命令,[]与test是同等的,正则字符范围,引用数组元素编号,不支持+-*/数字运算符,逻辑测试使用-a -o
        
    [[]]
        bash程序语言的关键字,不是一个命令,[[]]结构比[]结构更加通用,不支持+-*/数字运算符,逻辑测试勇士&&,||.
    
    {}
        主要用于命令集合或者范围,例如mkdir -p /da他/201{}7,8]/
        
    ()    
        用于多个命令组,命令替换,初始化数组
    
    (())
        整数扩展,运算符重定义变量值,算数运算比较;

实例
    
    
    
    #!/bin/bash
    if [ -d $1 ];then
        echo ok.
    else
        echo failed.
    fi
    
    $1为系统变量,在脚本后面跟上相应的文件或者目录或参数
    
    
    如果参数为空0就是后面没有参数直接退出
    if [ $# -eq 0 ];then
        echo "------------"
        echo "Usage:{执行此命令需要加nginx版本如1.12.2或1.16.0后面加上你的网站的域名如www.9527edu.org具体格>式sh nginx.sh 1.16.1 www.9527edu.org}"
        exit
    fi
    
    
    如果有/usr/local/nginx/这个文件目录则退出不执行
    
    #!/bin/bash
    if [ ! -d /use/local/nginx/ ];then
        参数
        安装过程等
        else
            echo "install nginx is ok"
    fi
    
    判断100是不是大于50如果大于50返回为qwe,如果不大于返回为123
    
    #!/bin/bash
    if ((100>50));then
        echo qwe
    else
        echo 123
    fi
    
    和上面一样,只是$1和$2是相应的数值
    比如
        $1=100 $2=50
    100是不是大于50如果100大于50返回未qwe,如果不大于100返回未123
    (())算数比较
    
    #!/bin/bash
    if (($1>$2));then
        echo qwe
    else
        echo 123
    fi
    执行命令格式
        sh s.sh 100 50

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
   

共有 1 条评论

  1. avatar

    访客

    elws 写错了

Top