until [ "$(cat /sys/class/net/eth0/operstate)" = "up" ]; do sleep 1;done
ip link set up eth0 não está bloqueando. Depois de retornar, seu resultado só é visível no sistema alguns μ / ms depois, principalmente acompanhado por uma mensagem do kernel do driver do dispositivo, como r8169 0000:25:00.0 eth0: link up .
Neste momento, por ex. /sys/class/net/eth0/operstate é inicializado e armazena os valores up ou down , dependendo se um cabo está conectado no caso de um dispositivo ethernet. Antes de colocar o link, operstate é sempre down .
Como posso esperar pelo resultado de ip link set up , ou seja, o momento em que /sys/class/net/eth0/operstate e outros eth0/* arquivos mantêm seus valores atualizados?
until [ "$(cat /sys/class/net/eth0/operstate)" = "up" ]; do sleep 1;done
Tags kernel network-interface