29 lines
672 B
Bash
Executable File
29 lines
672 B
Bash
Executable File
#!/bin/bash
|
|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
# frontend pour 'ip addr' qui formatte l'affichage pour prendre moins de place
|
|
|
|
if [ -x /usr/bin/ip ]; then IP=/usr/bin/ip
|
|
elif [ -x /bin/ip ]; then IP=/bin/ip
|
|
else IP=ip
|
|
fi
|
|
|
|
if [ -n "IPADDR_COLOR" ]; then isatty=1
|
|
else tty -s <&1 && isatty=1 || isatty=
|
|
fi
|
|
|
|
"$IP" addr "$@" | awk -v isatty="$isatty" '
|
|
isatty && $0 ~ /^[0-9]/ {
|
|
$0 = gensub(/: ([^:]+):/, ": \x1B[32m\\1\x1B[0m:", 1)
|
|
}
|
|
isatty && $1 == "inet" {
|
|
$0 = gensub(/inet ([^ ]+) /, "inet \x1B[34m\\1\x1B[0m ", 1)
|
|
}
|
|
{
|
|
if ($1 == "inet" || $1 == "inet6") {
|
|
printf "%s -- ", $0
|
|
getline
|
|
sub(/^ +/, "")
|
|
}
|
|
}
|
|
{ print }'
|