Hmm .. Apenas um pensamento. Mas presumo que você esteja usando o DHCP na sua rede Wi-Fi. Portanto, você não teria um endereço IP até que sua rede esteja totalmente ativada.
Então, vamos apenas ter um loop de pouco tempo.
while [ "$(ifconfig wlan0 | grep inet | grep 192.168.)" = "" ]; do sleep 1; done
O 192.168. deve ser substituído por seu alcance padrão. Agora ele iria verificar a cada segundo uma vez se você já está tendo uma conexão e assim que você está tendo uma conexão via wifi você pode acompanhar diretamente com ifup eth0