Невозможно сослаться на iCloud Drive в файле launchd plist

Невозможно сослаться на iCloud Drive в файле launchd plist

Я начал хранить свои AppleScripts в папке iCloud Drive редактора скриптов, так как часто мне нравится повторно использовать или просматривать скрипты на нескольких устройствах. Обычно я люблю iCloud Drive. Однако я столкнулся с необычным сценарием: я не могу успешно использовать такой путь в разделе ProgramArguments моего launchd plist.

Обычно путь принимает форму ~/Library/Mobile\ Documents/com\~apple\~ScriptEditor2/Documents/MyScript.scpt

Но я вижу из логов, что этот путь полностью искажается, когда launchd пытается его выполнить, и, конечно, результатом является "Нет такого файла или каталога". Я вижу, что вторая и третья тильды динамически заменяются на путь к домашней папке пользователя — на что технически ссылается только первая тильда. Я пробовал разные способы обойти это, но безуспешно.

Есть ли у вас мысли, как обойти эту проблему?

решение1

Вы можете предоставить подстановку реальной оболочке:

<key>ProgramArguments</key>
<array>
    <string>/bin/sh</string>
    <string>-c</string>
    <string>programToRun --arg1 --arg2 ~/relative\~path\~here</string>
</array>

Связанный контент