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

Linux学习之十四(bash脚本编程之三条件判断及算术运算)

2017-05-09 16:59 696 查看
bash脚本编程之三条件判断及算术运算

练习一:写一个脚本

判断当前系统上是否有用户的默认shell为bash;如果有,就显示有多少个这类用户;否则,就显示没有这类用户;

#!/bin/bash

#

grep '\ /dev/null

RETVAL=$?

if [ $RETVAL -eq 0 ]; then

  USERS=` grep '\  echo "The shells of $USERS users is bash. "

else

   echo "No such user."

fi

练习二:写一个脚本

给定一个文件,比如/etc/inittab

判断这个文件中是否有空白行;

如果有,则显示其空白行数;否则,显示没有空白行。

#!/bin/bash

#

grep '\ /dev/null

RETVAL=$?

if [ $RETVAL -eq 0 ]; then

  USERS=` grep '\  echo "The shells of $USERS users is bash. "

else

   echo "No such user."

fi

练习三:写一个脚本

给一个用户,判断其UID与GID是否一样

如果一样,就显示此用户为“good guy”,否则,就显示此用户为“bad guy”.

#!/bin/bash

#

USER=openstack

UIDS=`id -u $USER`

GIDS=`id -g $USER`

if [ $UIDS -eq $GIDS ];  then

   echo "good guy"

else

   echo "bad guy"

fi

练习四:写一个脚本

给定一个用户,获取其密码警告期限;

而后判断用户最近一次修改密码时间距是否已经小于警告期限;

 提示:算术运算的方法$[$A-$B]:表示变量A的值减去变量B的值的结果;

 如果小于,则显示”Warning“;否则,就显示”OK“.

 

 shell 中如何进行算术运算:

 A=3

 B=6

1、let 算术运算表达式

    let C=$A+$B

2、$[算术运算表达式]

    C=$[$A+$B]

3、$((算术运算表达式))

    c=$(($A+$B))

4、expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用

    c=`expr $A + $B`

#!/bin/bash

W=`grep "wolf" /etc/shadow | cut -d: -f6`

S=`date +%s`

T=`expr $S/86400`

L=`grep "wolf" /etc/shadow | cut -d: -f5`

N=`grep "wolf" /etc/shadow | cut -d: -f3`

SY=$[$L-$[$T-$N]]

if [ $SY -lt $W ]; then

   echo "warning"

else

   echo "OK"

fi

 练习五:写一个脚本

 判定命令历史中历史命令的总条目是否大于1000;如果大于,则显示”Some command will gone.“;否则显示”OK“;

 

#!/bin/bash

#

HI=`history | tail -1 | cut -d' ' -f2`

S=[ $HI -gt 100 ]

if [ $S -eq 0 ];  then

   echo "Some command will gone."

else

   echo "OK."

fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: