Я начал хранить свои 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>