Merge branch 'ebardie-ebardie/prefer_ip_over_ifconfig'

This commit is contained in:
Roman Perepelitsa 2022-11-14 14:58:15 +01:00
commit bc5983543a

View file

@ -5721,19 +5721,19 @@ function _p9k_prompt_net_iface_async() {
# netstat -inbI en0 # netstat -inbI en0
local iface ip line var local iface ip line var
typeset -a iface2ip ips ifaces typeset -a iface2ip ips ifaces
if (( $+commands[ifconfig] )); then if (( $+commands[ip] )); then
for line in ${(f)"$(command ifconfig 2>/dev/null)"}; do for line in ${(f)"$(command ip -4 a show 2>/dev/null)"}; do
if [[ $line == (#b)([^[:space:]]##):[[:space:]]##flags=([[:xdigit:]]##)'<'* ]]; then if [[ $line == (#b)<->:[[:space:]]##([^:]##):[[:space:]]##\<([^\>]#)\>* ]]; then
[[ $match[2] == *[13579bdfBDF] ]] && iface=$match[1] || iface= [[ ,$match[2], == *,UP,* ]] && iface=$match[1] || iface=
elif [[ -n $iface && $line == (#b)[[:space:]]##inet[[:space:]]##([0-9.]##)* ]]; then elif [[ -n $iface && $line == (#b)[[:space:]]##inet[[:space:]]##([0-9.]##)* ]]; then
iface2ip+=($iface $match[1]) iface2ip+=($iface $match[1])
iface= iface=
fi fi
done done
elif (( $+commands[ip] )); then elif (( $+commands[ifconfig] )); then
for line in ${(f)"$(command ip -4 a show 2>/dev/null)"}; do for line in ${(f)"$(command ifconfig 2>/dev/null)"}; do
if [[ $line == (#b)<->:[[:space:]]##([^:]##):[[:space:]]##\<([^\>]#)\>* ]]; then if [[ $line == (#b)([^[:space:]]##):[[:space:]]##flags=([[:xdigit:]]##)'<'* ]]; then
[[ ,$match[2], == *,UP,* ]] && iface=$match[1] || iface= [[ $match[2] == *[13579bdfBDF] ]] && iface=$match[1] || iface=
elif [[ -n $iface && $line == (#b)[[:space:]]##inet[[:space:]]##([0-9.]##)* ]]; then elif [[ -n $iface && $line == (#b)[[:space:]]##inet[[:space:]]##([0-9.]##)* ]]; then
iface2ip+=($iface $match[1]) iface2ip+=($iface $match[1])
iface= iface=