码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2016-04-13 21:00:57      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:linux下bash编程之條件判斷详解(二)

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


bash中实现条件判断:

条件测试类型:整数,字符,文件

条件测试的表达式:

  [ 表達式 ]  進行整數判斷

  [[ 表達式 ]] 進行整數判斷

  test 表達式

整数比较:

  -eq: 测试两个整数是否相等;

  -ne: 测试两个整数是否不等;不等,为真;相等,为假;

  -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;

  -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;

  -ge: 大于或等于

  -le:小于或等于

命令的间逻辑关系:

逻辑与: &&

           第一个条件为真时,第二条件必须得判断,

           第一个条件为假时,第二条件不用再判断,即為假

逻辑或: ||

           第一个条件为真时,第二条件無须判断執行;即為真

           第一个条件为假时,第二条件必須得判断執行

條件判斷if語句兩種表達式:

(1) : if 判斷條件; then

      語句1

      語句2

      ...

    fi  


(2):  if 判斷條件; then

     語句1

     語句2

     ...

   else

     語句3

     語句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

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

标签:linux下bash编程之條件判斷详解(二)

原文地址:http://willow.blog.51cto.com/6574604/1763478

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!