Cela a été facilement fait avec scripts et maintenant l'intégré autoupdate
Le mécanisme de l'UE gère cela de manière élégante. Voir L'excellente réponse de Tate pour les détails
Si la mise à jour et la mise à niveau automatiques ne fonctionnent pas, voici un autre moyen pour les anciennes versions.
Pour l'efficacité (et le facteur de fraîcheur), j'utiliserais un outil tel que Lingon pour lancer ce script périodiquement en utilisant launchctl/launchd au lieu de chaque fois que vous démarrez un shell. Sur mon MacBook, il faut 3 secondes pour mettre à jour la deuxième fois (aucun travail effectué, cache DNS défini, etc...) et il faut 10 secondes pour lancer la première fois (aucun travail effectué) ou 15+ secondes si un paquet doit être téléchargé ou compilé.
Peut-être qu'une fois par jour ou une fois par heure - en fonctionnant en arrière-plan - serait suffisant pour ces moments d'exécution ?
Vous pourriez faire un simple script /usr/local/bin/brewup
qui appelle Brew à tour de rôle et consigne les résultats dans le journal du système. Si vous n'aimez pas courir après les journaux dans le magasin centralisé des journaux, "les transférer dans un fichier texte fonctionne bien aussi.
#!/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
J'appelle simplement l'infusion quand je suis sur le point d'aller faire du thé ou quand je commence et je la laisse fonctionner en arrière-plan.
brewup &