Ich verwende derzeit den Homebrew-Paketmanager und meine Frage lautet: Ist es möglich, ein Bash-Skript zu schreiben, um es auszuführen, brew update
und schließlich, brew upgrade
wenn zum ersten Mal eine Shell geöffnet wird? Ich benutze momentan iTerm.
13
~/.bash_profile
Datei tun . Sie müssen überprüfen, ob nur eine Terminalsitzung geöffnet ist, und dann ausführenbrew update
. Überprüfen Sie stackoverflow.com/questions/6172663/… auf die Anzahl der Terminalfenster.~/.bash_profile
wird zu Beginn der Terminalsitzung automatisch ausgeführt. Diese Prüfung ist erforderlich, wenn Siebrew update
beim ersten Start ausgeführt werden müssen. Wenn Sie dies jedes Mal ausführen möchten, wenn ein neues Fenster geöffnet wird, überspringen Sie diesen Schritt und führen Sie esbrew update
aus~/.bash_profile
.Antworten:
Dies ist sehr einfach zu tun.
Aus Gründen der Effizienz (und des coolen Faktors) würde ich ein Tool wie Lingon verwenden , um dieses Skript regelmäßig mit launchctl / launchd zu starten, anstatt jedes Mal, wenn Sie eine Shell starten. Auf meinem MacBook dauert es 3 Sekunden, um das zweite Mal zu aktualisieren (keine Arbeit erledigt, DNS-Cache eingestellt usw.), und es dauert 10 Sekunden, um das erste Mal auszuführen (keine Arbeit erledigt) oder mehr als 15 Sekunden, wenn ein Paket benötigt wird heruntergeladen oder kompiliert werden.
Vielleicht einmal am Tag oder einmal in der Stunde - im Hintergrund zu laufen würde angesichts dieser Ausführungszeiten ausreichen?
Sie können ein einfaches Skript
/usr/local/bin/brewup
erstellen, das nacheinander Brew aufruft und die Ergebnisse im Systemprotokoll protokolliertIch rufe einfach die Brauerei an, wenn ich Tee machen will oder wenn ich anfange und sie im Hintergrund laufen lasse.
quelle
launchd
overcron
ist, dass es widerstandsfähiger und leistungsfreundlicher ist und Schlaf- / Fehlintervalle natürlicher handhabt.t
Flagge finden Sie in der Manpage zum Logger . Ich benutze es , so dass ich diese Nachrichten im Meer von Protokollen mit einer leicht finden kanngrep
oderlog
Befehl und Prädikat / Suchbegriff ein .Es gibt ein Tool namens homebrew-autoupdate, das dies für Sie erledigt . Es kann automatisch
brew update
alle 24 Stunden im Hintergrund ausgeführt werden (konfigurierbar), um sicherzustellen, dass Sie immer über aktuelle Homebrew-Daten verfügen, wenn Sie Pakete installieren / aktualisieren.Um es zu installieren, führen Sie es aus
brew tap domt4/autoupdate
undbrew autoupdate --start 43200
konfigurieren Sie es so, dass es alle 12 Stunden (43200 Sekunden) automatisch aktualisiert wird.quelle
Ich bevorzuge es, Homebrew beim Start zu aktualisieren. Ich habe ein Skript
brew-update.sh
in~/Applications
:Dieses Skript wird beim Start mit ausgeführt
launchd
. Dafür habe ichbrew-update.plist
in~/Library/LaunchAgents
:Beachten Sie, dass es möglicherweise nicht zuverlässig aktualisiert wird, wenn Sie beispielsweise ein MacBook haben und nur den Deckel öffnen und schließen. Für meinen iMac funktioniert es jedoch gut, dass ich ihn regelmäßig herunterfahre und starte. Lass mich wissen ob es funktioniert!
quelle