Eu começaria na inicialização e esperaria até o wlan0 estar conectado. Você pode verificar isso via
#!/bin/bash
while true; do
# testing...
LC_ALL=C nmcli -t -f DEVICE,STATE dev | grep -q "^wlan0:connected$"
if [ $? -eq 0 ]; then
break
else
# not connected, sleeping for a second
sleep 1
fi
done
# now connected, run the script