Questo è molto facile da fare.
Per efficienza (e fattore interessante), vorrei utilizzare uno strumento come Lingon lanciare periodicamente questo script usando launchctl / launchd invece di ogni volta che si avvia una shell. Sul mio MacBook, ci vogliono 3 secondi per aggiornare la seconda volta (niente lavoro, set di cache DNS, ecc ...) e impiegano 10 secondi per eseguire la prima volta (senza lavoro) o 15+ secondi se un pacchetto ha bisogno da scaricare o compilare.
Forse una volta al giorno o una volta all'ora - in esecuzione in background sarebbe sufficiente dato quelle volte da eseguire?
Potresti creare un semplice script /usr/local/bin/brewup
che chiama a turno brew e registra i risultati nel log di 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
Ho appena chiamato il brewup quando sto per andare a fare il tè o quando comincio a farlo funzionare in background.
brewup &