亲宝软件园·资讯

展开

Linux建立脚本猜字游戏监控

pp的kino 人气:0

1.用户建立脚本

(1)设计文件判断模块

在这里插入图片描述

(2)设计用户建立

在这里插入图片描述

(3)文件内容

在这里插入图片描述

脚本内容

#!/bin/bash
USERADD(){      #用户创建函数
        RN=$(sed -n '$=' $1)
        for ((I=1;I<=$RN;I++))
        do
                user=`sed -n  "$I"p $1`
                password=`sed -n "$I"p $2`

                id $user &>/dev/null    #判断该用户是否存在
                [ $? -eq 0 ] &&{
                        echo "$user 已经存在了"
                }||{
                        useradd $user #新建$user中的用户
                        echo "$password" | passwd --stdin $user &> /dev/null
                        [ $? -eq 0 ] &&{
                                echo "$user 用户创建成功"
                        }
                }
        done
}
# 判断模块
[ $# -lt 2 ] &&{   #判断文件是否小于两个
        echo "ERROR:文件个数不足!!"
}||{    [ -e $1 -a -e $2 ]&& {  #判断文件是否存在
                #判断两个文件行数是否相等
                [ `sed -n '$=' $1` -eq `sed -n '$=' $2` ] &&{
                        USERADD $1 $2
                        #调用用户创建函数
                }||{
                        echo "ERROR:文件行数不一致!!"
                }
        }||{
                echo "ERROR:文件不存在!!"
        }
}

2.猜字游戏

在这里插入图片描述

#!/bin/bash

Number=7
while true
do
       read -p "请输入一个数字: " NUM
       if [ $NUM = $Number  ]
       then
               echo "恭喜您,猜中啦!!!"
               exit
       elif [ $NUM -lt $Number ]
       then
               echo -n  "数字太小了!"
       elif [ $NUM -gt $Number ]
       then
               echo -n "数字太大了!"
       else
               echo -n "error"
       fi
done

3.网卡流量监控

(1)判断模块

在这里插入图片描述

(2)显示模块

使用clear命令清屏显示

在这里插入图片描述

同一行输出显示

在这里插入图片描述

(3)脚本内容

#!/bin/bash

[ -z $* ] && {
        echo "ERROR: Not input net device !"
}||{
        Device=`ifconfig $* 2> /dev/null`&&{
                while true
                do
                        RXpre=$(cat /proc/net/dev | grep $1 | tr : " " | awk '{print $2}')
                        TXpre=$(cat /proc/net/dev | grep $1 | tr : " " | awk '{print $10}')
                        # 获取1秒后网口接收与发送的流量
                        sleep 1
                        RXnext=$(cat /proc/net/dev | grep $1 | tr : " " | awk '{print $2}')
                        TXnext=$(cat /proc/net/dev | grep $1 | tr : " " | awk '{print $10}')
                        # 获取这1秒钟实际的进出流量
                        RX=$((${RXnext}-${RXpre}))
                        TX=$((${TXnext}-${TXpre}))

                        TX=$(echo $TX | awk '{print $1/1024 " KB/s      "}')
                        RX=$(echo $RX | awk '{print $1/1024 " KB/s      "}')
					
					#在同一行刷新监控显示
                        #echo -ne "input: $RX    \t\toutput: $TX  "
                        #echo -ne "\r"
					clear # 使用clear清屏后显示
					echo -ne "input: $RX \noutput: $TX  "					   
                done
        }||{
                echo "$1 is not exist"
        }
}

加载全部内容

相关教程
猜你喜欢
用户评论