Linux系统shell命令之 条件判断 (&& || test)

    xiaoxiao2022-07-04  128

    && 和 ||

    &&:用来执行条件成立后执行的命令 ||:用来执行条件不成立后的执行命令

    [root@localhost mnt]# id westos # 用户westos不存在无法查看 id: toto: no such user [root@localhost mnt]# id westos &> /dev/null && echo yes || echo no # 判断用户是否存在 no # 由于用户不存在 条件不成立 所以输出no [root@localhost mnt]# useradd westos # 创建用户之后 用户存在 [root@localhost mnt]# id westos &> /dev/null && echo yes || echo no # 条件成立 输出yes yes

    测试:检测是否能够ping通 主机 172.25.254.18 ,通则输出yes,不通则输出no

    编写脚本,用以检测网络能否ping通 可以ping通输出此ip is up;ping不通输出 此ip is down

    test 命令

    -eq 等于 ; -ne 不等于 ;-le 小于等于; -lt小于 ; -gt大于; -ge大于等于

    ###### -a ##同时满足

    -o ##两个条件满足其中一个就可以

    -z ##是否为空

    ###### -n ##不为空

    文件的具体类型

    [ -f “file” ] ##普通文件为真 [ -e “file” ] ##文件存在为真 [ -L “file” ] ##软链接为真 [ -S “file” ] ##套节字为真 [ -b “file” ] ##硬盘设备为真 [ -d “file” ] ##目录为真 [ -c “file” ] ##字符设备为真 [ “file” -ef “file1” ] ##两文件为同一个文件为真 [ “file” -nt"file1" ] ##文件1比文件2创建的晚为真 [ “file” -ot “file1” ] ##文件1比文件2创建的早为真

    示例

    [ “file” -ef “file1” ] ##两文件为同一个文件为真

    [ “file1” -nt"file2" ] ##文件1比文件2创建的晚为真 [ “file1” -ot “file2” ] ##文件1比文件2创建的早为真

    测试1 编写脚本 判断输出文件类型

    测试2 编写脚本 创建或者删除用户

    当创建用户时,用户存在则输出用户存在,不存在则建立用户 当删除用户时,用户存在则删除用户,用户不存在则输出用户不存在

    最新回复(0)