do shell script: Probleme mit Syntax

S

Series 60

Aktives Mitglied
Thread Starter
Dabei seit
31.12.2005
Beiträge
328
Reaktionspunkte
7
Hallo

Ich möchte folgende Shell Comands in einen AppleScript nutzen:

Path="$(dirname "$0")"
cp -r /${Path}/Neu /Users/Philipp/Desktop/Test

Leider habe ich ein wenig Probleme mit der Syntax. Als Anfänger weiss ich, dass einzelne Zeilen mit einem ; getrennt werden und nach einem \ ein weiterer Backslash folgen muss. Dieses Wissen reicht leider für mein Script nicht aus. Kann mir jemand helfen? Vielleich kennt jemand eine detailiertere Beschreibung. Im Internet konnte ich nur extrem wenig finden.

Vielen Dank
Philipp
 
Path=$(dirname "$0"); cp -r $Path/Neu /Users/Philipp/Desktop/Test

Einfacher, wenn Du $Path nicht mehrfach brauchst:

cp -r $(dirname "$0")/Neu /Users/Philipp/Desktop/Test

Darüber "extrem wenig" zu finden, ist praktisch nicht möglich. :D
tldp
 
Ich suche aber eine Beschreibung für Shell Scripts in Kombination mit AppleScript. Klar, über Shell Scripts alleine habe ich tausende Seiten gefunden. Oder kann mir direkt jemand weiterhelfen?

Das "$0" verursacht einen Syntaxfehler. Wie muss man das definieren? Ich kenne die entsprechende Syntax nicht. Vielen Dank für die Hilfe.
 
dirname $0 gibt dir doch das verzeichnis, in dem das script liegt, aber du hast ja kein file da.
das kannst du aber auch mit applescript und path to me machen...
 
Ich habe im Script (also im .app-Ordner um genau zu sein) Daten drin, die ich gerne kopieren möchte. Mit path to me habe ich das selbe Problem: Ich kenne die korrekte Syntax nicht.


set Pfad to (path to me as string)

do shell script "cp -r & (quoted form of POSIX path of Pfad) & /Content/Resources/Test /Users/Philipp/Desktop"


Weiss jemand was hier noch fehlt? Das Script soll hier als Beispiel den Ordner Content/Resources/Test der sich im app-Ordner befindet auf den Desktop kopieren. Was noch wichtig wäre: Es muss zwingend ein Shell-Befehl sein. Mit AppleScript alleine krieg ich es zwar hin, aber es hat seine Gründe warum ich das so haben muss.
 
Zuletzt bearbeitet:
das as string ist das schon mal falsch und es muss auch "cp -r " & string & " sein
du solltest dir auch mal angucken was du da kriegst.
wenn du auch etwas aus dem Resources ordner in einem bundle kopieren willst, würde sich
path to resource
auch besser eignen...
 
Vielen Dank, jetzt funktioniert alles wie gewünscht.
 
Zurück
Oben Unten