• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Software-Aktualisierung

  • Ersteller Jim Salabim
  • Erstellt am

Jim Salabim

Gast
Hallo!
Nach den Meldungen zu Sicherheitslücken im Betriebssystem, die darauf beruhen, dass Safari Shell-Skripte automatisch ausführt etc., (siehe http://www.heise.de/newsticker/meldung/69854) habe ich mir die Empfehlung zu Herzen genommen, das Terminal einfach umzubenennen. Und siehe da: Es funktioniert: Die Test-Datei (heise.jpg) kann ihr Shell-Skript nicht mehr ausführen. Das Terminal an sich funktioniert aber trotz Umbenennung einwandfrei. Soweit so gut.

Da man das Terminal aber für die Software-Aktualisierung wieder in den Originalnamen umbenennen soll, dies aber leicht vergisst, habe ich mir einen Automator-Workflow gebastelt, der zunächst mein umbenanntes "Terminal2.app" wieder in "Terminal.app" umbenennt und dann die Software-Aktualisierung startet.
Nach Beenden der Software-Aktualisierung soll nun "Terminal.app" wieder in "Terminal2.app" umbenannt werden. Da ich im Automator keine Aktion gefunden habe, die mit dem Ausführen wartet, bis ein bestimmtes Programm wieder geschlossen ist (hier wäre das eben die Software-Aktualisierung), möchte ich ein Apple-Skript programmieren, welches das erledigt.

Ich möchte daher gerne allgemein wissen, was ich in den Skripteditor schreiben muss, damit folgendes passiert:
"Starte das Programm [...], und wenn dieses Programm beendet wurde (aber nicht früher), dann führe diese und jene Aktion aus."

Da ich AppleScript noch nicht so wahnsinnig gut beherrsche, hoffe ich, dass ihr mir helfen könnt!

Viele Grüße
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
Moin Jim,

probier's mal so:

Code:
tell application "Finder"
	launch application "Software Update"
	-- jetzt warten wir, bis "Software Update" läuft:
	repeat until (name of every process contains "Software Update") is true
		delay 3
	end repeat
	--  und jetzt warten wir, bis "Software Update" wieder aus ist:
	repeat until (name of every process contains "Software Update") is false
		delay 3
	end repeat
	-- System update wurde beendet
	-- "führe diese und jene Aktion aus"...
end tell

Grüße,

Daisy
 

Jim Salabim

Gast
Super, vielen Dank! Hab's ausprobiert, und es funktioniert einwandfrei!

Grüße
Jim