Shell脚本常见逻辑运算符

if常见判断逻辑运算符详解:

-f   判断文件是否存在 if [ -f filename ];
-d   判断目录是否存在 if [ -d /data/backup ]
-r   测试当前用户是否有权限读取(Read)
-w   测试当前用户是否有权限写入(Write)
-x   测试当前用户是否有权限执行(eXcute
-eq  等于数学中的"="
-ne  等于数学中的"≠"
-lt  等于数学中的"<"
-gt  等于数学中的">"
-le  等于数学中的"<="
-ge  等于数学中的">="
-a   逻辑表达式,双方都成立,并且的意思 (吃饭前的准备="洗手 -a 刷牙" #吃饭前应该洗手并且刷牙)
-o   逻辑表达式,双方有一方面成立,或者的意思 (怎么去同学家="坐车 -o 走路" #怎么去同学家,走路或者坐车) 
||   等价于"-o"
&&   等价于"-a"

实例:

#!/bin/bash
file=a.txt
dir=/data/backup/
Mem=`free -m | grep "^Mem:" | awk '{print $3}'`
df=`df -h | awk NR==7 | awk -F "%" '{print $1}'  | awk '{print $5}'`
#判断a.txt文件是否存在
[ -f $file ] && echo "该文件${file}存在" || echo "该文件${file}不存在"
#判断目录是否存在
[ -d $dir ] && echo "该目录${dir}存在" || echo "该目录${dir}不存在"
#判断root用户对/etc/passwd文件是否有读的权限
su $USER -c  '[ -r /etc/passwd ] && echo "$USER对/etc/passwd文件有读的权限" || echo "$USER对/etc/passwd文件没有读的权限"'
#判断root用户对/etc/passwd文件是否有写的权限
su $USER -c  '[ -w /etc/passwd ] && echo "$USER对/etc/passwd文件有写的权限" || echo "$USER对/etc/passwd文件没有写的权限"'
#判断root用户对/etc/passwd文件是否有执行的权限
su $USER -c  '[ -x /root/panduan.sh ] && echo "$USER对/etc/passwd文件有执行的权限" || echo "$USER对/etc/passwd文件没有执行的权限"'

#判断当前用户是否为root
if [ $UID -eq 0 ]
then
        echo "当前用户是root"
else
        echo "当前用户不是root"
fi
#判断用户输入的第一个参数不等于20
if [ $1 -ne 30 ]
then
        echo "参数不等于30"
else
        echo "参数等于30"
fi
#判断当前已使用内存是否小于500M
if [ $Mem -lt 500 ]
then
        echo "当前使用内存为${Mem}M,小于500M"
else
        echo "当前使用内存为${Mem}M,大于500M"
fi
#判断当前已使用内存是否大于100M
if [ $Mem -gt 100 ]
then
        echo "当前使用内存为${Mem}M,大于100M"
else
        echo "当前使用内存为${Mem}M,小于100M"
fi
#判断当前磁盘占用率是否大于等于80%
if [ $df -ge 80 ]
then
        echo "当前的磁盘占用率为${df}%,大于等于80%"
fi
#判断当前磁盘占用率是否小于等于80%
if [ $df -le 100 ]
then
        echo "当前的磁盘占用率为${df}%,小于等于100%"
fi

该脚本执行结果

 希望通过以上脚本让各位读者能对if常用的判断逻辑运算符有一定的理解

大佬勿喷 大佬勿喷 大佬勿喷

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值