Linux下Bash编程之條件判斷详解(二)
bash中实现条件判断:
条件测试类型:整数,字符,文件
条件测试的表达式:
[ 表達式 ] 進行整數判斷
[[ 表達式 ]] 進行整數判斷
test 表達式
整数比较:
-eq: 测试两个整数是否相等;
-ne: 测试两个整数是否不等;不等,为真;相等,为假;
-gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
-lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
-ge: 大于或等于
-le:小于或等于
命令的间逻辑关系:
逻辑与: &&
第一个条件为真时,第二条件必须得判断,
第一个条件为假时,第二条件不用再判断,即為假
逻辑或: ||
第一个条件为真时,第二条件無须判断執行;即為真
第一个条件为假时,第二条件必須得判断執行
條件判斷if語句兩種表達式:
(1):单分支的if语句:
if 判斷條件; then
語句1
語句2
...
fi
(2):双分支的if语句:
if 判斷條件; then
語句1
語句2
...
else
語句3
語句4
...
fi
(3):多分支的if语句:
if 判断条件1; then
語句1
...
elif 判断条件2; then
語句2
...
elif 判断条件3; then
語句3
...
else
語句4
...
fi
實例說明:
1.如果用户user1不存在,就添加用户user1
表示方法1: ! id user1 &> /dev/null && useradd user1
表示方法2: id user1 &> /dev/null || useradd user1
2.如果/etc/inittab文件的行数小于1000,就显示小文件字樣提示信息;
方法1: [ `cat /etc/inittab | wc -l` -lt 1000 ] && echo "this is small file"
方法2: [ `wc -l /etc/inittab | cut -d' ' -f1` -lt 1000 ] && echo "this is small file"
方法3:[ $(cat /etc/inittab | wc -l) -lt 1000 ] && echo "this is small file"
3.如果user1用户不存在,請添加用戶并設定密码為redhat;否则显示其已经存在提示信息;
! id user1 > /dev/null && useradd user1 && echo "redhat" | passwd --stdin user1 &> /dev/null || echo "user1 exists."
4.如果指定用戶UID为0,就显示此用戶为超級管理员;否则,就显示其为普通用户;
vim showuid.sh 新增一個腳本文件,添加如下內容
#!/bin/bash
#
NAME=root
if [ `id -u $NAME` -eq 0 ] ; then
echo "this is super administrator"
else
echo "this is common user"
fi
~
chmod a+x showuid.sh 授于執行權限
./showuid.sh 執行腳本
转载于:https://blog.51cto.com/willow/1763478