1
0
Fork 0
mirror of https://github.com/romkatv/powerlevel10k.git synced 2024-12-25 00:21:58 +00:00

when ifconfig is not available, use ip; fixes #305

This commit is contained in:
romkatv 2019-11-09 13:49:08 +01:00
parent ff305e3d45
commit 39b2064a97

View file

@ -3428,17 +3428,29 @@ _p9k_preexec() {
function _p9k_set_iface() {
_p9k_iface=()
[[ -x /sbin/ifconfig ]] || return
local line
local iface
for line in ${(f)"$(/sbin/ifconfig 2>/dev/null)"}; do
if [[ $line == (#b)([^[:space:]]##):[[:space:]]##flags=(<->)'<'* ]]; then
[[ $match[2] == *[13579] ]] && iface=$match[1] || iface=
elif [[ -n $iface && $line == (#b)[[:space:]]##inet[[:space:]]##([0-9.]##)* ]]; then
_p9k_iface[$iface]=$match[1]
iface=
fi
done
if [[ -x /sbin/ifconfig ]]; then
local line
local iface
for line in ${(f)"$(/sbin/ifconfig 2>/dev/null)"}; do
if [[ $line == (#b)([^[:space:]]##):[[:space:]]##flags=(<->)'<'* ]]; then
[[ $match[2] == *[13579] ]] && iface=$match[1] || iface=
elif [[ -n $iface && $line == (#b)[[:space:]]##inet[[:space:]]##([0-9.]##)* ]]; then
_p9k_iface[$iface]=$match[1]
iface=
fi
done
elif [[ -x /sbin/ip ]]; then
local line
local iface
for line in ${(f)"$(/sbin/ip -4 a show 2>/dev/null)"}; do
if [[ $line == (#b)<->:[[:space:]]##([^:]##):[[:space:]]##\<([^\>]#)\>* ]]; then
[[ ,$match[2], == *,UP,* ]] && iface=$match[1] || iface=
elif [[ -n $iface && $line == (#b)[[:space:]]##inet[[:space:]]##([0-9.]##)* ]]; then
_p9k_iface[$iface]=$match[1]
iface=
fi
done
fi
}
function _p9k_build_segment() {