Terminal nach Ende der Anweisung beenden?

B

BalkonSurfer

Mitglied
Thread Starter
Dabei seit
27.07.2003
Beiträge
5.253
Reaktionspunkte
2
Hi..
Ich hab folgendes Problem:
Ich möchte über ein Applescript nacheinander verschiedene Befehle im Terminal ablaufen lassen. Wenn diese Befehle beendet sind, soll sich das Terminalfenster schließen.

Es sind jedoch mehrere Fenster und die Befehle dauern schon ne Weile ..

Wenn ich jetzt mit
tell application "Terminal"
run
do script with command "Befehl"
quit
end tell
anfange, will Applescript das Fenster während der Ausführung schließen und es gibt Fehler ...

Was tun?, sprach ... ähhh ... ich :)
 
Hallo BalkonSurfer,

Ich würde an deiner Stelle erst gar keine Terminalfenster öffnen.

Statt 'do script with command ...' solltest du 'do shell script "Scripttext"...' verwenden. So werden die Anweisungen komplett im Hintergrund ausgeführt. Das Terminal wird erst gar nicht gestartet.
 
Das wäre ne Idee..
Ich hab das Terminal genommen, weil ich dann sehen kann, wenn die Befehle fertig sind...

Aber ich kann ja ins Script bestimmt irgendwas einbauen, dass mir signalisiert, wenns fertig ist.

Vielen Dank!
 
Soweit ich das bisher beobachten konnte, läuft das AppleScript erst weiter, wenn der Shell-Script-Befehl abgeschlossen ist.

Ich habe heute eine Ordneraktion geschrieben, bei der per Shell-Script ein FTP-Upload realisiert wird. Gleich nach dem "do shell script"-Befehl habe ich eine Dialogmeldung eingebaut, die mir signalisiert, wann das Skript fertig ist.
Und hier konnte ich bisher je nach Upload-Menge schon recht unterschiedliche Zeiten feststellen.

Es ist also nicht so, dass AppleScript den "do shell script"-Befehl nur abfeuert und dann gleich mit den nächsten Anweisungen weiter macht, die Ausführung des Shell-Befehls wird schon abgewartet.
 
Also:

tell application "Terminal"
run
do script with command "Befehl"
quit
end tell

wartet nicht und bläst einfach weiter und

do shell script "Befehl"

wartet schön :)

Nur für ne Dialogmeldung muss ich noch n bischen nachschlagen ...
 
Original geschrieben von BalkonSurfer
Nur für ne Dialogmeldung muss ich noch n bischen nachschlagen ...
 

display dialog "Ich bin jetzt fertig!" buttons {"OK"} default button 1 with icon 1 giving up after 20


Was das alles bedeutet, kannst du auf meiner Website nachlesen. ;-)
 
Dank Dir!
Diese Zeile ist gottseidank selbsterklärend, allerdings ist Applescript echt komplex! Hätt isch nisch gedacht *überfordert* :)
 
Zurück
Oben Unten