Скрипт запуска Маверикс

0

Я пытаюсь написать небольшой скрипт для запуска, когда пользователь входит в систему. Я искал и получил скрипт для работы, но не могу запустить при входе в систему с .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

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

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

Спасибо Крис

Крис
источник
Эй, я убрал некоторые из ваших сценариев форматирования для этого сайта. Казалось, что некоторые символы были обрезаны, поэтому я попытался заменить их, чтобы создать действительный PLIST, но еще раз проверил, точно ли он отражает то, что было в файле. Кроме того, вы используете Linux или OSX? Это две разные операционные системы, и они будут иметь разные ответы (но вы пометили обе).
Дарт Android
Я использую osx 10.9 mavericks .... в посте я удалил>, потому что он не будет отображать все коды ... спасибо ... выглядит намного лучше
Крис

Ответы:

0

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

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

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

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

Гордон Дэвиссон
источник