From fc427a732243c1c03956b5c726a06811c31109f3 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Tue, 9 Apr 2019 05:13:05 +0100 Subject: [PATCH] etc/profile.d/sys.sh --- etc/profile.d/functions | 5 ----- etc/profile.d/sys.sh | 34 +++++++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/etc/profile.d/functions b/etc/profile.d/functions index 73275331..d8978fc2 100755 --- a/etc/profile.d/functions +++ b/etc/profile.d/functions @@ -233,11 +233,6 @@ shell_ssh() { fi } -ips() { - shell_help "Usage: $FUNCNAME [INTERFACE]. Print ip adresses." "$@" && return 1 - ( ip addr show || ifconfig ) 2>/dev/null | awk '/^[\t ]*inet /{sub("^[^0-9]*","",$2); sub("/[0-9]+","",$2); if ($2 != "127.0.0.1"){print $2}}' -} - env_add_path() { # Add paths to a variables # Usage PATH=`env_add_path "$PATH" "/blbabla"` diff --git a/etc/profile.d/sys.sh b/etc/profile.d/sys.sh index 2a93ed13..6eb0a908 100644 --- a/etc/profile.d/sys.sh +++ b/etc/profile.d/sys.sh @@ -37,7 +37,7 @@ sys_infos() { arch${s}$(sys_arch) nproc${s}$(sys_nproc) ips${s}$(echo -n $(ips 2>/dev/null)) -interfaces${s}$(echo -n $(sys_interfaces)) +interfaces${s}$(echo -n $(sys_interfaces|cut -f1)) model${s}$(sys_model) os${s}$(sys_os) date_install${s}$(sys_date_install) @@ -186,10 +186,38 @@ sys_interfaces() { ip link | awk -F'(: )|@' '/^[^ ]/{print $2}' elif which ifconfig > /dev/null; then - ifconfig | awk '/^[^ ]/{print $1}' + #ifconfig | awk '/^[^ ]/{print $1}' + ifconfig | awk '/^[a-z][^:]+: flags=[0-9]+<[A-Z]+,BROADCAST/{sub(":$","",$1);print $1}' fi -) | awk '!x[$0]++ && $1 !~ /^(lo)$/ {print}' +) | awk '!x[$0]++ && $1 !~ /^(lo)$/ {print}' | while read int; do + + infos=$(( ip addr show "$int" || ifconfig "$int") 2> /dev/null) + + mac=$(echo "$infos" | awk '/ether ([^ ]+)/{print $2}') + [ -z "$mac" ] && continue + ip=$(echo "$infos" | awk '/^[\t ]*inet /{sub("^[^0-9]*","",$2); sub("/[0-9]+","",$2); {print $2}}') + + printf '%s\t%s\t%s\n' "$int" "$mac" "$ip" +done +} + +# NB 09.04.19 sys_interfaces() { +# NB 09.04.19 ( +# NB 09.04.19 if which ip > /dev/null; then +# NB 09.04.19 ip link | awk -F'(: )|@' '/^[^ ]/{print $2}' +# NB 09.04.19 +# NB 09.04.19 elif which ifconfig > /dev/null; then +# NB 09.04.19 #ifconfig | awk '/^[^ ]/{print $1}' +# NB 09.04.19 ifconfig | awk '/^[a-z][^:]+: flags=[0-9]+<[A-Z]+,BROADCAST/{sub(":$","",$1);print $1}' +# NB 09.04.19 +# NB 09.04.19 fi +# NB 09.04.19 ) | awk '!x[$0]++ && $1 !~ /^(lo)$/ {print}' +# NB 09.04.19 } + +ips() { + shell_help "Usage: $FUNCNAME [INTERFACE]. Print ip adresses." "$@" && return 1 + ( ip addr show || ifconfig ) 2>/dev/null | awk '/^[\t ]*inet /{sub("^[^0-9]*","",$2); sub("/[0-9]+","",$2); if ($2 != "127.0.0.1"){print $2}}' } sys_cpu_load() { -- 2.47.3