Я пытаюсь написать небольшой скрипт для запуска, когда пользователь входит в систему. Я искал и получил скрипт для работы, но не могу запустить при входе в систему с .plist

У нас активная настройка каталогов. Когда пользователь входит в систему, используя свои учетные данные, скрипт выполняется вручную после его выполнения.

tell application "finder"
    set MyName to do shell script "whoami"
    mount volume "smb://server/folder/" & MyName
end tell

или же

set MyName to do shell script "whoami"
mount volume "smb://server/folder/" & MyName

и сохранил его как .scpt как вручную работает

Или мне нужно использовать это таким образом

tell application "Terminal"
    set MyName to do shell script "whoami"
    mount volume "smb://server/folder/" & MyName
end tell

сохранить как .sh

Теперь список сохранен в /Library/LaunchAgents:

<plist version="1.0">

<dict>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.script</string>
    <key>ProgramArguments</key>
    <array>
       <string>/Users/Shared/SCRIPT.sh</string>
    </array>
</dict>

</plist>

и выполните следующую команду

launchctl load /Library/LaunchAgents/com.script.plist

Это не работает. Не могу получить диск для автоматического монтирования во время входа в систему

Пожалуйста помоги. Я не программист, поэтому, пожалуйста, будьте конкретны.

Спасибо Крис

1 ответ1

0

Ваш сценарий - это appleScript, а не сценарий оболочки, поэтому вы не можете выполнить его напрямую. Я думаю, что было бы хорошо, если бы команда ossascript интерпретировала это:

<array>
    <string>/usr/bin/osascript</string>
    <string>/Users/Shared/SCRIPT.sh</string>
</array>

(и, пожалуйста, используйте более подходящее расширение файла, чем ".sh")

Кстати, я почти уверен, что вы хотите, чтобы KeepAlive установлен в значение <false/> - если для него установлено значение <true/> , ваш сценарий будет выполняться повторно непрерывно, а не один раз.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .