Esto es muy fácil de hacer.
Para la eficiencia (y factor cool), usaría una herramienta como Lingon para iniciar este script periódicamente usando launchctl / launchd en lugar de cada vez que inicie un shell. En mi MacBook, tarda 3 segundos en actualizarse la segunda vez (sin trabajo, conjunto de caché de DNS, etc.) y tarda 10 segundos en ejecutarse la primera vez (sin trabajo) o más de 15 segundos si un paquete necesita para ser descargado o compilado.
¿Quizás una vez al día o una vez por hora, correr en segundo plano sería suficiente dados esos tiempos para ejecutar?
Podrías hacer un script simple /usr/local/bin/brewup
que, a su vez, realice una elaboración y registre los resultados en el registro del sistema
#!/bin/bash
brew=/usr/local/bin/brew
logger=/usr/bin/logger
$brew update 2>&1 | $logger -t brewup.update
$brew upgrade 2>&1 | $logger -t brewup.upgrade
$brew cleanup 2>&1 | $logger -t brewup.cleanup
Acabo de llamar al administrador cuando estoy a punto de preparar el té o cuando empiezo y lo dejo en segundo plano.
brewup &