Ich habe begonnen, meine AppleScripts im iCloud Drive-Ordner des Script Editors zu speichern, da ich Skripte häufig auf mehreren Geräten wiederverwenden oder überprüfen möchte. Im Allgemeinen liebe ich iCloud Drive. Allerdings bin ich auf ein ungewöhnliches Szenario gestoßen: Ich kann einen solchen Pfad im Abschnitt „ProgramArguments“ meiner Launchd-Plist nicht erfolgreich verwenden.
Normalerweise hat der Pfad die Form
~/Library/Mobile\ Documents/com\~apple\~ScriptEditor2/Documents/MyScript.scpt
Aber ich kann aus den Protokollen ersehen, dass dieser Pfad vollständig verstümmelt wird, wenn launchd versucht, ihn auszuführen, und natürlich ist das Ergebnis „Keine solche Datei oder kein solches Verzeichnis“. Was ich sehe, ist, dass die zweite und dritte Tilde dynamisch durch den Pfad zum Home-Ordner des Benutzers ersetzt werden – etwas, worauf technisch gesehen nur die erste Tilde verweist. Ich habe verschiedene Möglichkeiten ausprobiert, um dem zu entkommen, aber ohne Erfolg.
Irgendwelche Ideen, wie man dieses Problem umgehen kann?
Antwort1
Sie können das Globbing einer echten Shell überlassen:
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>-c</string>
<string>programToRun --arg1 --arg2 ~/relative\~path\~here</string>
</array>