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
练习一:写一个脚本
判断当前系统上是否有用户的默认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
相关文章推荐
- 第五课-第四讲05_04_bash脚本编程之三 条件判断及算术运算
- 5-4 bash脚本编程之三 条件判断及算术运算
- bash 脚本编程3 条件判断和算术运算 (笔记)
- bash脚本编程之一 条件判断及算术运算
- bash脚本编程之条件判断、算术运算及实例
- Linux学习笔记:bash的算术运算及条件测试
- Linux基础入门及系统管理01-bash脚本编程之二if等条件判断脚本知识17
- 2018-2-4Linux系统管理(5)bash脚本编程参数变量及条件判断
- Linux学习笔记--bash脚本编程之二、条件判断及算数运算
- shell脚本编程之条件判断,算术运算,整数测试及特殊变量
- Linux学习命令汇总四——Bash中变量.文件通配符.管道与重定向.算术运算及循环或判断语句
- Linux基础入门及系统管理01-bash脚本编程之三整数测试及算术运算18
- bash脚本编程之二 条件判断
- 【bash】bash脚本编程之条件判断
- Linux运维学习历程-第十一天-bash逻辑运算、测试类型和脚本语句
- Linux学习之道:bash编程脚本
- 05_03_bash脚本编程之二 条件判断
- bash 脚本编程之二 条件判断
- Linux学习之道:编写一个判断IP地址合法性的bash脚本
- linux笔记 第六天 bash编程入门之变量、条件判断、条件测试和for循环等