false shell 判断_shell中IF的用法介绍

一、语法结构

if [ condition ]

then

statements

[elif condition

then statements. ..]

[else

statements ]

fi

二、说明

(1)[ condition ] (注意condition前后要有空格)

非空返回true,可使用$?验证(0为true,>1为false) 如:[ hadoop ] 返回true

空返回false 如:[ ] 返回false

(2)[ condition ] && echo OK ||echo notok 可以多条件,条件满足,执行后面的语句

三、整数比较

-eq 等于,如:if [ "$a" -eq "$b" ]

-ne 不等于,如:if [ "$a" -ne "$b" ]

-gt 大于,如:if [ "$a" -gt "$b" ]

-ge 大于等于,如:if [ "$a" -ge "$b" ]

-lt 小于,如:if [ "$a" -lt "$b" ]

-le 小于等于,如:if [ "$a" -le "$b" ]

大于(需要双括号),如:(("$a" > "$b"))

>= 大于等于(需要双括号),如:(("$a" >= "$b"))

小数据比较可使用AWK #下一篇单独介绍awk数据处理

四、字符串比较

= 等于,如:if [ "$a" = "$b" ]

== 等于,如:if [ "$a" == "$b" ],与=等价

!= 不等于,如:if [ "$a" != "$b" ]

这个操作符将在[[]]结构中使用模式匹配.

大于,在ASCII字母顺序下.如:

if [[ "$a" > "$b" ]]

if [ "$a" \> "$b" ]

注意:在[]结构中">"需要被转义.

-z 字符串为"null".就是长度为0.

-n 字符串不为"null"

五、权限判断

-r 有读的权限

-w 有写的权限

-x 有执行的权限

六、文件系统类型判断

-f 文件存在并且是一个常规的文件

-s 文件存在且不为空

-d 文件存在并是一个目录

-b 文件存在并且是一个块设备

-L 文件存在并且是一个软连接

实例1 特权用户的高内存占用查询

#!/bin/bash

if [ root == `awk -F: '$3==0{print $1}' /etc/passwd ` ];then #>字符判断

echo "Privileged user is root" #>判断特权用户是否只有root

echo "===================================/n======/n="

else

echo "Privileged users are not root"

exit 1

fi

ps aux > 123.txt

if [ $? == 0 ] ;then

echo "High memory occupancy analysis"

echo "===================================/n======/n="

awk '$4>="0.3"{print $1,$11}' 123.txt #>这个$4的点自定义,这里虚拟机没吃内存厉害应用

echo "---------------------end----------------"

exit 1

fi

案例2 远程登录的用户的详情查询

[root@server 桌面]# cat 123.sh

#!/bin/bash

lsof -i :ssh |grep -v sshd > 123.txt

if [ $? -eq 0 ];then

echo "Display of users without remote login "

cat 123.txt

exit 1

else

echo "Users without remote login"

fi

.....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值