Мне нужно запустить скрипт как часть первого шага приложения, чтобы удалить некоторые устаревшие компоненты из предыдущей версии. Обычно эти компоненты устанавливаются либо в $ HOME / Library, либо / Library, и сценарий может просто переместить их в корзину.
Проблема заключается в том, что в случае, если пользователь не администратор, а компоненты находятся в глобальной / библиотеке, сценарий должен пройти проверку подлинности как администратор, иначе произойдет сбой. Мой текущий скрипт использует AppleScript, но, к моему удивлению, я не могу найти способ стать администратором в середине скрипта.
Существует команда 'do shell script' foo 'с правами администратора', но она всегда проверяет подлинность, и в AppleScript проще указать нужные шаги, чем shell, хотя и не невозможно.
В данный момент я столкнулся с попыткой переместить файлы в AppleScript, отловить ошибку перемещения, а затем с помощью аутентифицирующего сценария оболочки для перемещения файлов с помощью mv. Это кажется очень громоздким, так что я могу сделать, чтобы все было аккуратно?