您的位置:首页 > 运维架构 > Shell

Linux下Bash编程之條件判斷详解(二)

2016-04-13 16:24 579 查看
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 執行腳本

本文出自 “夏维柳” 博客,请务必保留此出处http://willow.blog.51cto.com/6574604/1763478
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: