Shell条件判断 单分支if语句

1
2
3
4
5
6
7
8
if [ 条件判断式 ];then
程序
fi
if [ 条件判断式 ]
then
程序
fi

注:

  1. if语句使用fi结尾,和一般语言使用大括号结尾不同
  2. [ 条件判断式 ]就是使用test命令判断,所以中括号和条件判断式之间必须有空格
  3. then后面跟符合条件之后执行的程序,可以放在[]之后,用;分割,也可以换行写入,就不需要;

实例:判断当前登录用户是不是root

1
2
3
4
5
6
7
#!/bin/bash
testuser=$(env | grep "USER" | cut -d "=" -f 2)
#env是linux的一个外部命令,可以显示当前用户的环境变量,其中一行显示当前用户
if [ "$testuser" == "root" ]
then
echo "Current user is root."
fi

实例:判断分区使用率

1
2
3
4
5
6
7
8
#!/bin/bash
#统计根分区使用率
#/dev/sda3是df判断的
test=$(df -h | grep "/dev/sda3" | awk '{print $5}' | cut -d "%" -f 1)
if [ "$test" -ge 90 ]
then
echo "/ is full"
fi