日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Linux用戶建立腳本/猜字游戲/網卡流量監控介紹_Linux

作者:pp的kino ? 更新時間: 2022-02-23 編程語言

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"
        }
}

原文鏈接:https://blog.csdn.net/qq_46351273/article/details/121969579

欄目分類
最近更新