per script terminalbefehl ausführen

Diskutiere mit über: per script terminalbefehl ausführen im Scripting und Automatisierung Forum

  1. mallwart

    mallwart Thread Starter MacUser Mitglied

    Beiträge:
    187
    Zustimmungen:
    0
    Registriert seit:
    04.08.2003
    gibt es eine möglichkeit mit einem script
    1) ein terminal-fenster zuöffnen ( tell?)
    2) in diesem fenster einen befehl ausführen zulassen ( z.z. mache ich das mit copy|past , was mich einfach nervt )
    3) wieder zum finder zurückzukehren ?
     
  2. Andi

    Andi MacUser Mitglied

    Beiträge:
    7.826
    Zustimmungen:
    653
    Registriert seit:
    16.05.2002
    ...

    Hallo mallwart,

    ja das geht mit dem Befehl "do shell script" gefolgt von Deinem Terminalbefehl.
    Die umgekehrte Richtung wäre "osascript" gefolgt von einem Applescript im Terminal (man osascript)

    Um ein Terminalfenster zu bekommen musst Du den Befehl an das Terminal senden.

    ein kleines Beispiel, wie es ungefähr funktioniert:

    tell application "Terminal"
    activate
    set myShellScript to "osascript -e 'tell app \"Finder\" to activate'"
    do shell script myShellScript
    end tell

    Der Befehl "do shell script" kann aber auch direkt ausgführt werden.
    Kritisch wird es wegen Zeitüberschreitungen. Da musst Du fummeln.

    Was solls werden? ;)

    Gruß Andi
     
  3. mallwart

    mallwart Thread Starter MacUser Mitglied

    Beiträge:
    187
    Zustimmungen:
    0
    Registriert seit:
    04.08.2003
    etwas ganz profanes – ich möchte wissen , wo e.t. wohnt und lasse deshalb im terminal setiathome laufen . dazu muss folgendes ans terminal ( nein ich will nicht in die crontab , sondern einfach nach laune/bei bedarf starten ) übergeben werden:
    » /Applications/systempflege/setiathome_darwin/setiathome -nice 1 -verbose«
     
  4. Andi

    Andi MacUser Mitglied

    Beiträge:
    7.826
    Zustimmungen:
    653
    Registriert seit:
    16.05.2002
    ...

    Hallo mallwart,

    dann sollte ja:

    do shell script "/Applications/systempflege/setiathome_darwin/setiathome -nice 1 -verbose"

    reichen..

    Gruß Andi
     
  5. mallwart

    mallwart Thread Starter MacUser Mitglied

    Beiträge:
    187
    Zustimmungen:
    0
    Registriert seit:
    04.08.2003
    sollte , tut es aber leider nicht .
    das script hat folgenden inhalt:
    <
    tell application "Terminal" activate
    do shell script "/Applications/systempflege/setiathome_darwin/setiathome -nice 1 -verbose"
    end tell
    >

    der befehl an sich funktioniert im terminal , aber wenn ich ihn in ein script einbaue und das script starte , passiert folgendes :
    das terminal startet und hängt sich dann auf . beim genaueren hinschauen ist dann auch die fehlermeldung zu lesen , nämlich das die apllikation nicht auf bestimmte files zugreifen kann ( in meinem fall setiathome und seine *.sah-files ) weil diese in gebrauch sind . kann aber nicht sein , denn ich starte die app ja gerade . leider sind die zerstörungen des scriptes bei den file-attributen so stark , dass ich seti immer wieder neu installieren muss .
    fazit: ich bleibe vorerst bei copy|past .
    obwohl mich schon interessieren würde , was ich falsch mache bei 3 code-zeilen ?
     
  6. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    Registriert seit:
    24.03.2003
    'do shell script' ist der Befehl, wenn man kein Terminal benutzen will. - Also ein Shell-Script direkt aus AppleScript heraus ausführen.

    Wenn's im Terminal sein soll, benutzt man "do script" gefolgt vom Scripttext.

    Dein AppleScript könnte demnach so aussehen:

    do shell script "/Applications/systempflege/setiathome_darwin/setiathome -nice 1 -verbose"

    oder so:

    tell application "Terminal"
    activate
    do script "/Applications/systempflege/setiathome_darwin/setiathome -nice 1 -verbose"
    end tell
     
  7. mallwart

    mallwart Thread Starter MacUser Mitglied

    Beiträge:
    187
    Zustimmungen:
    0
    Registriert seit:
    04.08.2003
    danke snow carro , genau das war's , mein script arbeitet wunderbar .
    und wieder etwas dazu gelernt .
    ich liebe diese forum clap

    ps: gibt's zufällig noch eine gute buchempfehlung »apple script für einsteiger?
     
  8. Andi

    Andi MacUser Mitglied

    Beiträge:
    7.826
    Zustimmungen:
    653
    Registriert seit:
    16.05.2002
    ...

    Hallo mallwart,

    tut mir leid. Snow hat recht. "do script" im Terminal... Ich habs zwar probiert und mein Beispiel funktioniert auch - was solls, Hauptsache Dein Problem ist gelöst.

    Gruß Andi
     
  9. mallwart

    mallwart Thread Starter MacUser Mitglied

    Beiträge:
    187
    Zustimmungen:
    0
    Registriert seit:
    04.08.2003
    kein grund zur sorge oder gar anlass schlafloser nächte , dein tipp war doch gut . außerdem hat er mir gezeigt :
    a) wo gibt's hilfe
    b) versuch's einfach und lass' nicht locker .
    deshalb natürlich auch dank an dich .
     
  10. Andi

    Andi MacUser Mitglied

    Beiträge:
    7.826
    Zustimmungen:
    653
    Registriert seit:
    16.05.2002
    ...

    ;)
     
Die Seite wird geladen...
Ähnliche Themen - per script terminalbefehl Forum Datum
PackageMaker - Paket per Skript erstellen Scripting und Automatisierung 20.10.2016
kalenderblätter täglich öffnen und per email versenden Scripting und Automatisierung 18.12.2013
Ruhezustand per Script/Automator möglich? Scripting und Automatisierung 20.03.2013
PDF per Script komprimieren Scripting und Automatisierung 16.06.2012
Hauptmonitor / Primärmonitor tauschen per script Scripting und Automatisierung 16.04.2012

Diese Seite empfehlen

Benutzerdefinierte Suche