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

Terminal nach Ende der Anweisung beenden?

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von BalkonSurfer, 02.01.2004.

  1. BalkonSurfer

    BalkonSurfer Thread Starter MacUser Mitglied

    Mitglied seit:
    27.07.2003
    Beiträge:
    5.157
    Zustimmungen:
    1
    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 :)
     
  2. Snow

    Snow MacUser Mitglied

    Mitglied seit:
    24.03.2003
    Beiträge:
    262
    Zustimmungen:
    2
    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.
     
  3. BalkonSurfer

    BalkonSurfer Thread Starter MacUser Mitglied

    Mitglied seit:
    27.07.2003
    Beiträge:
    5.157
    Zustimmungen:
    1
    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!
     
  4. Snow

    Snow MacUser Mitglied

    Mitglied seit:
    24.03.2003
    Beiträge:
    262
    Zustimmungen:
    2
    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.
     
  5. BalkonSurfer

    BalkonSurfer Thread Starter MacUser Mitglied

    Mitglied seit:
    27.07.2003
    Beiträge:
    5.157
    Zustimmungen:
    1
    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 ...
     
  6. Snow

    Snow MacUser Mitglied

    Mitglied seit:
    24.03.2003
    Beiträge:
    262
    Zustimmungen:
    2
     

    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. ;-)
     
  7. BalkonSurfer

    BalkonSurfer Thread Starter MacUser Mitglied

    Mitglied seit:
    27.07.2003
    Beiträge:
    5.157
    Zustimmungen:
    1
    Dank Dir!
    Diese Zeile ist gottseidank selbsterklärend, allerdings ist Applescript echt komplex! Hätt isch nisch gedacht *überfordert* :)
     
Die Seite wird geladen...

Diese Seite empfehlen