• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> 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