From 02d019626d72c16027f84e4cb6f487d09af707a9 Mon Sep 17 00:00:00 2001 From: Hyy2001X <1804430051@qq.com> Date: Wed, 15 Sep 2021 11:07:49 +0800 Subject: [PATCH] =?UTF-8?q?V1.7.9=20=E6=B7=BB=E5=8A=A0=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=97=E8=A1=A8=E6=89=93=E5=8D=B0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Scripts/AutoBuild_Tools.sh | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/Scripts/AutoBuild_Tools.sh b/Scripts/AutoBuild_Tools.sh index 7cb4019..fa0d971 100755 --- a/Scripts/AutoBuild_Tools.sh +++ b/Scripts/AutoBuild_Tools.sh @@ -3,7 +3,7 @@ # AutoBuild_Tools for Openwrt # Dependences: bash wget curl block-mount e2fsprogs smartmontools -Version=V1.7.7 +Version=V1.7.9 ECHO() { case $1 in @@ -162,11 +162,15 @@ ${White}q. 退出 Sysinfo show ;; 8) - Sysinfo clear + Online_List="${Tools_Cache}/Online_List" + i=1 ECHO x "在线设备列表\n" - ECHO y "IP 地址 MAC 地址" - grep "br-lan" /proc/net/arp | grep "0x2" | grep -v "0x0" | grep "$(echo ${IPv4} | egrep -o "[0-9]+\.[0-9]+\.[0-9]+")" | awk '{print $1"\t\t"$4}' + ECHO y "序号 MAC 地址 IP 地址 设备名称" + grep "br-lan" /proc/net/arp | grep "0x2" | grep -v "0x0" | grep "$(echo $(GET_IP 4) | egrep -o "[0-9]+\.[0-9]+\.[0-9]+")" | awk '{print $4"\t"$1}' | while read X;do + echo " ${i} ${X} $(grep $(echo ${X} | awk '{print $2}') /tmp/dhcp.leases | awk '{print $4}')" + i=$(($i + 1)) + done ENTER ;; esac @@ -616,8 +620,8 @@ Sysinfo() { Mem_Free=$(free | grep Mem | awk '{a=$7*100/$2;b=$7/1024;c=$2/1024} {printf("%dMB | %.1f%%\n",b,a)}') Kernel_Version=$(uname -r) Sys_Startup=$(awk '{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60;d=($1%60)} {printf("%d 天 %d 小时 %d 分钟 %d 秒\n",a,b,c,d)}' /proc/uptime) - IPv4=$(ip -4 a | egrep "br-lan" | grep "inet" | awk '{print $2}') - IPv6=$(ip -6 a | grep inet6 | grep "global dynamic" | awk '{print $2}' | awk 'NR==1') + IPv4=$(GET_IP 4) + IPv6=$(GET_IP 6) Support_Format=$(grep -v "nodev" /proc/filesystems | awk '{print $1}' | sort | uniq) Online_Users=$(grep "br-lan" /proc/net/arp | grep "0x2" | grep -v "0x0" | grep "$(echo ${IPv4} | egrep -o "[0-9]+\.[0-9]+\.[0-9]+")" | wc -l) [[ ! $1 == show ]] && return @@ -649,6 +653,20 @@ Sysinfo() { done } +GET_IP() { + case $1 in + 4) + ip -4 a | egrep "br-lan" | grep "inet" | awk '{print $2}' + ;; + 6) + ip -6 a | grep inet6 | grep "global dynamic" | awk '{print $2}' | awk 'NR==1' + ;; + *) + return 1 + ;; + esac +} + GET_INFO() { grep "$1" $2 | sed "s/^[$1]*//g" 2> /dev/null | sed 's/^[ \t]*//g' 2> /dev/null }