[AppleScript:]Mehrzeiliges Skript mit "do shell script" einbinden

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

meine Frage lässt sich schon dem Titel entnehmen.

Wie kann ich mehrzeilige Skripte (oder Kommandos mit Schleifen) mithilfe von "do shell scrip" in ein AppleScript einbinden.
Dabei ist zu berücksichtigen, dass die Skripte " enthalten können, die ja vor AppleScript versteckt werden müssen.
Wei macht man das?

(Und noch eine Frage am Rande: wie beende ich ein laufendes Applescript aus dem Script heraus - also eine Abbruchkommando für das Skript?)
 
Hallo Maceis,

Code:
set meinSH to do shell script ¬
	"ls;
              ls;
              ls"

Viel Erfolg!
 
Danke.

Ich hätte da nur zwei Fragen:
1. Wie sage ich Appleskript, dass eine bestimmte Shell verwenden werden soll (beisielsweise /bin/zsh oder /bin ksh).
2. Wie kann ich Anführungszeichen (") innerhalb der "do shell script"-Komandos benutzen; also beispielsweise so etwas:
Code:
set result to do shell script "a='/zwei worte' && if [ -d [color=red]"[/color]$a[color=red]"[/color]"] then ...
Ich nehme an, die müssen irgendwie gequotet werden.
Bei "POSIX path" gibt es ja die Möglichkeit "quoted form of" zu verwenden, aber zum einen ist das eher unpraktisch und zum anderen geht das halt auch nicht immer.
 
Ciao Maceis,
für das "ausquoten" in Applescript wird der Backslash verwendet:

Code:
set unixCode to "a='/zwei worte' && if [ -d [COLOR="Red"]\[/COLOR]"$a[COLOR="red"]\[/COLOR]"]..."
set x to (do shell script unixCode)

Auf die erste Frage weiß ich leider keine Antwort, sofern sich die Shell direkt mittels Unix-Code definieren läßt, müßte man wahrscheinlich das entsprechende Kommando als erste Zeile ins shell script einfügen.

Frohes scripten
Farid
 
Zurück
Oben Unten