bash之三 脚本练习以及算术运算

简介:

练习:写一个脚本

判断当前系统上是否有用户的默认shell为bash;

    如果有,就显示有多少个这样的用户,否则就显示没有这类用户

#!/bin/bash

acount=`grep "\<bash$" /etc/passwd |wc -l`

if [ $acount -gt 0 ];then

echo "there have $acount such users"

else

echo "no  such  users"

fi


练习:写一个脚本

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

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

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

#!/bin/bash

i=` grep  "^$"  /etc/inittab|wc -l`

if [ $i -gt 0 ];then

echo "there are $i blank lines"

else

echo "no blank lines"

fi


练习:写一个脚本

    给定一个用户,判断其UID与GID是否相同

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

[ `id -u user1`  -eq  `id -g user1 ` ]&& echo  'good guy' ||echo "bad guy "


练习:写一个脚本

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

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

    如果小于。则显示“warning”;否则,就显示“ok”;

        提示:算数运算的方法$[$A-$B],表示变量A的值减去变量B的值

#!/bin/bash

if ! id $1 &>/dev/null;then 

echo  "user $1 no exists!"

else

wtime=`grep "$1" /etc/shadow|cut  -d:  -f6`

ctime=`grep "$1" /etc/shadow|cut  -d:  -f3`

utime=`grep "$1" /etc/shadow|cut  -d:  -f5`

now=`date +%s/86400|bc`

ltime=$[$utime-$[$now-$ctime]]

if [ $ltime -lt $wtime ];then

echo "warning!"

else

echo "ok"

fi

fi


练习:写一个脚本

    判定命令历史中历史命令的总条目是多少?

[root@logstach ~]# history |tail -1|cut -d' ' -f3

568

        注意:这里不能使用history |wc -l 来计算,因为历史命令最多能存储环境变量HISTSIZE的大小,当超过时则会溢出,我们题目的意思是要统计已经使用过的历史命令。


shell中如何进行算数运算:

A=3

B=7

1、 let 算数运算表达式

        let  C=$A+$B

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

        $[$A+$B]

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

        $(($A+$B))

4、 expr 算术运算表达式、表达式中各操作以及运算符之间必须有空格,且赋值时需要命令引用

    c=`expr $A +  $B `


    















本文转自biao007h51CTO博客,原文链接:http://blog.51cto.com/linzb/1732473 ,如需转载请自行联系原作者

相关文章
|
21天前
|
Devops 关系型数据库 大数据
1000个开源免费的bash脚本合集
【10月更文挑战第4天】
|
6月前
|
存储 Shell Linux
Linux Bash 脚本中的 IFS 是什么?
【4月更文挑战第25天】
122 0
Linux Bash 脚本中的 IFS 是什么?
|
3月前
|
Shell
一个能够生成 Markdown 表格的 Bash 脚本
【8月更文挑战第20天】这是一个使用Bash脚本生成Markdown表格的示例。脚本首先设置表头与内容数据,然后输出Markdown格式的表格。用户可以根据需要自定义表格内容。使用时,只需将脚本保存为文件(如 `generate_table.sh`),赋予执行权限,并运行它,即可在终端看到生成的Markdown表格。
|
3月前
|
Shell Linux
在Linux中,哪⼀个bash内置命令能够进行数学运算?
在Linux中,哪⼀个bash内置命令能够进行数学运算?
|
3月前
|
Unix Shell Linux
在Linux中,什么是Bash脚本,并且如何使用它。
在Linux中,什么是Bash脚本,并且如何使用它。
|
3月前
|
Shell 开发者
深入理解Bash脚本中的函数
【8月更文挑战第20天】
47 0
|
3月前
|
存储 Shell 数据处理
深入探讨Bash脚本中的数组
【8月更文挑战第20天】
26 0
|
3月前
|
存储 Shell
Bash 脚本中的 `hash` 命令
【8月更文挑战第19天】
27 0
|
5月前
|
Unix Shell Linux
技术经验分享:Bash脚本命令使用详解
技术经验分享:Bash脚本命令使用详解
39 0
|
6月前
|
存储 弹性计算 运维
用bash脚本创建目录
【4月更文挑战第29天】
48 3