]> git.nbdom.net Git - nb.git/commitdiff
etc/profile.d/sys.sh
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 9 Apr 2019 04:13:05 +0000 (05:13 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 9 Apr 2019 04:13:05 +0000 (05:13 +0100)
etc/profile.d/functions
etc/profile.d/sys.sh

index 73275331714c4f304e2391c9fa5cd6fd25258aa7..d8978fc20114bcf65516f0a59a8464ff79d13620 100755 (executable)
@@ -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"`
index 2a93ed13c5e72ef9a91c1a416e052f4210e145ec..6eb0a90885cba772693cb36506f9ea57260c7399 100644 (file)
@@ -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() {