Кажется, это единственное, что нельзя заменить на ip
.
Одно из решений:
IPNM=$(ip a sh dev wlan0:avahi scope global | awk '/inet / {print $2}')
IP=${IPNM/\/*})
ip a add $IP/32 dev wlan0:avahi
ip a del $IPNM dev wlan0:avahi
Сначала извлекается IP-адрес, включая сетевую маску, из вывода ip addr show
и сохраняется в $IPNM. После этого часть подсети удаляется и сохраняется в $IP.
Теперь вы можете добавить к устройству IP-адрес с нужной маской сети, а затем удалить с устройства старый IP-адрес/маску сети.