#!/bin/sh set -o errexit is_phys() { test -d "/sys/class/net/${1}/device" } interface_type() { if is_phys "$1"; then printf 'phys' else printf 'virt' fi } list_interfaces() { for interface in /sys/class/net/*; do printf '%s\n' "$(basename "$interface")" done } while read -r interface; do printf '%s: %s\n' \ "$(interface_type "$interface")" \ "$interface" done << EOF $(list_interfaces) EOF