A saída coletada de uma instrução if
pode ser redirecionada ou canalizada como com qualquer outro comando.
if ! docker network inspect bridge | grep Gateway | grep -o -E '[0-9\.]+'; then
ifconfig docker | grep -oP 'inet:\K[^ ]+'
fi | sudo tee -a /etc/hosts > /dev/null
A única parte disso que requer permissão de root está abrindo /etc/hosts
para gravação, então substituí o redirecionamento de saída por sudo tee
.