ppp0 может появляться и исчезать, тогда как связь с провайдером не пропадает. "Интернет" исчезнет вместе с ppp0, но связь остаётся. При этом ранее добавленные маршруты ли иные настройки могут исчезать и т.п. Полезно помнить об этом, при написании скрипта проверять такие вещи, например.
как выудить какой шлюз был назначен DHCP-провайдера этим интерфейсам?
Можно примерно так (демка для скрипта, можно в ком.строку попробовать обе строки поочереди):
gate_ip="$( route -n | grep UG | awk '{print $2}' )"
echo "Def.gate ip = $gate_ip"
Можно расширять варианты, в зависимости от "что ловить":
route -n | grep UG | grep eth0 | awk '{print $2}'
Это же можно применять к ifconfig. Например, MAC адрес:
ifconfig -a | grep eth0 | awk '{print $5}'
P.S. Если кто знает более красивые и правильные варианты - пишите.