• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Mein erstes Script und schon Probleme

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
Hallo,
ich wollte eben mal AppleScript testen.
Also Scripteditor auf und folgende Zeilen rein:
do shell script "/cold.sh"
say "coldfusion started."

Und Zack, der Scripteditor hängt sich beim ausführen auf. Der Shell Befehl wurde aber korrekt ausgeführt, der ColdFusion Server läuft. Der say Befehl alleine läuft auch. Nur die Kombi spinnt.

cold.sh enthält:
#!/bin/bash
/Applications/JRun4/bin/jrun -start cfusion & > cf8start.txt

Wie gesagt, das Script wird ordentlich ausgeführt, denn der Server läuft nun.
 
Das Shellscript per Applescript zu starten macht für mich nicht viel sinn, wenn du den Befehl auch direkt per Applescript starten kannst. Probiers mal hiermit:

do shell script " /Applications/JRun4/bin/jrun -start cfusion & > cf8start.txt"
say "coldfusion started."
 
Wenn Du etwas mit do shell script startest, wartet AppleScript auf die Beendigung des Befehls. Außerdem müssen die Ausgabe und der Fehlerkanal geschlossen sein.

Also starte Dein Programm im Hintergrund (&) und lenke STDOUT auf /dv/null oder die Konsole um ( > /dev/console) und STDERR ebenfalls (2> /dev/console) und Du solltest erreichen, was Du versuchst.
 
Also ich habe jetzt mal folgendes versucht:

do shell script "/Applications/JRun4/bin/jrun -start cfusion & 1> /dev/null 2> /dev/null"

Habe ich doch richtig verstanden oder? Jedenfalls startet der ColdFusion Server, aber der Scripteditor hängt mal wieder. Und "&" heißt im Hintergrund starten?
Wenn ich den Befehl /Applications/JRun4/bin/jrun -start cfusion & im Terminal eingebe, rattert er mir alle möglichen Ereignisse runter, wann was gestartet wurde etc. Das Starten von ColdFusion dauert im Normalfall ca. 3-4 Sekunden.

Edith sagt: Wenn ich im Terminal /Applications/JRun4/bin/jrun -start cfusion & > /dev/null eingebe, rattert er mir trotzdem alle Ereignisse durch. Selbes Spiel mit /dev/console
 
Zuletzt bearbeitet:
Jepp. Nun läufts. Danke!
Ich glaub mit AS lassen sich lustige Sachen anstellen ;)