• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Der Frühling ist auch in den eingesandten Fotos deutlich zu erkennen. Zeigt uns, wer Euer Favorit ist! hier geht es lang für Euer Voting --> Klick

do script - warten mit weiterfahren bis Skript beendet

_linx_

Kleiner Weinapfel
Registriert
04.01.09
Beiträge
1.125
Ich habe folgendes Script:
Code:
tell application "Terminal" to launch
tell application "Terminal"
	delay 2
	close window 1
	set nothingInteresting to do script "cd sites; cd fileserver; php -f test.php; sleep 15; exit"
	delay 5
	quit
end tell

Es geht mir darum
- einen Terminalbefehl auszuführen
- die Ausgabe dessen unter Umständen anzusehen
- aber dabei nicht gestört werden (deshalb das ausblenden)

Allerdings ist das Problem, dass AppleScript das Skript ausführt und beim do script keine Pause macht und wartet bis es abgelaufen ist sondern direkt weiterfährt.

Was muss ich da programmieren, dass AppleScript wartet bis das shell-Skript komplett ausgeführt ist?
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Vielleicht hilfreich:
Code:
do shell script "cd /Users/Klaus/lfmUTIL2; php GenerateWordlePage.php >WordlePage.txt"

tell application "Terminal"
    do script "cd /Users/Klaus/lfmUTIL2; cat WordlePage.txt"
end tell
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Führe das Skript nicht über eine Fernsteuerung des Programms "Terminal" aus, sondern direkt aus dem AppleSkript heraus. Den Textoutput kannst du ja zB in einem AppleSkript Dialog präsentieren wenn du willst.
Code:
try
set the murks to do shell script "echo Hurz; ls -l /sonstwas;"
display alert murks
end try
Wie du siehst, "Terminal" muss nicht mal laufen dazu.
Das Skript wird ausgeführt von /bin/sh
Backslashes und doppelte Anführungszeichen müssen -weil AS die schon selbst benutzt- innerhalb des übergebenen Skriptkorpus durch Backslash maskiert werden.
 

_linx_

Kleiner Weinapfel
Registriert
04.01.09
Beiträge
1.125
Danke an beide, ihr habt sehr geholfen.

Ich habe mir nun eine Lösung aus beiden Vorschlägen zusammengebastelt. Der Teil von Rastafari zum Ausführen und der Teil von toc-rox zum Anzeigen. Leider kann ich kein display alert verwenden, weil die Ausgabe unter Umständen ein paar 100 Zeilen lang sein kann. Ich muss das aber alles sehen um eventuelle Skriptfehler zu erkennen...

edit: Oder gibt es eine Möglichkeit, mit AppleScript ein mehrzeiliges Textfeld zu erstellen, das Scrollbar ist?
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Applescript Textfelder? Wozu? ;)
Versuch mal das hier...
(Farbe nur zwecks Verständlichkeit verwendet: Rot=Appleskript, Blau=Shellskript)
Code:
[COLOR="red"]try
do shell script " [/COLOR]
    [COLOR="blue"]out=[/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]"$(
        echo [/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]"Hurz ruft das Reh[/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]";
        ls -l [/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]"/Library/Application Support/[/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]";
        echo [/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]"Noch ne Zeile Text dran...[/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]";
    )[/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]";
    echo [/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]"${out}[/COLOR][COLOR="red"]\[/COLOR][COLOR="blue"]" | open -f;[/COLOR]
    [COLOR="red"]"
end try[/COLOR]
 

_linx_

Kleiner Weinapfel
Registriert
04.01.09
Beiträge
1.125
Hmm... Danke für den Hinweis, werde das bei Gelegenheit einmal einbauen ;)