mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-08-07 23:43:41 +08:00
40 lines
876 B
Bash
Executable File
40 lines
876 B
Bash
Executable File
#!/bin/sh
|
|
|
|
a=$(ip address | grep ^[0-9] | awk -F: '{print $2}' | sed "s/ //g" | grep '^[e]' | grep -v "@" | grep -v "\.")
|
|
b=$(echo "$a" | wc -l)
|
|
rm -f /tmp/state/ethinfo
|
|
|
|
echo -n "[" > /tmp/state/ethinfo
|
|
|
|
for i in $(seq 1 $b)
|
|
do
|
|
h=$(echo '{"name":' )
|
|
c=$(echo "$a" | sed -n ${i}p)
|
|
d=$(ethtool $c)
|
|
|
|
e=$(echo "$d" | grep "Link detected" | awk -F: '{printf $2}' | sed 's/^[ \t]*//g')
|
|
if [ $e = yes ]; then
|
|
l=1
|
|
else
|
|
l=0
|
|
fi
|
|
|
|
f=$(echo "$d" | grep "Speed" | awk -F: '{printf $2}' | sed 's/^[ \t]*//g' | tr -d "Unknown!")
|
|
[ -z "$f" ] && f=" - "
|
|
|
|
g=$(echo "$d" | grep "Duplex" | awk -F: '{printf $2}' | sed 's/^[ \t]*//g')
|
|
if [ "$g" == "Full" ]; then
|
|
x=1
|
|
else
|
|
x=0
|
|
fi
|
|
|
|
echo -n "$h \"$c\", \"status\": $l, \"speed\": \"$f\", \"duplex\": $x}," >> /tmp/state/ethinfo
|
|
done
|
|
|
|
sed -i 's/.$//' /tmp/state/ethinfo
|
|
|
|
echo -n "]" >> /tmp/state/ethinfo
|
|
|
|
cat /tmp/state/ethinfo
|