1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Software-Aktualisierung

Dieses Thema im Forum "AppleScript" wurde erstellt von Jim Salabim, 22.02.06.

  1. 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
     
  2. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    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
     
  3. Super, vielen Dank! Hab's ausprobiert, und es funktioniert einwandfrei!

    Grüße
    Jim
     

Diese Seite empfehlen