2016-12-04 3 views
-1

Я знаю, что вы можете использовать Automator для создания приложения из сценария, который вы можете применить к файлам входа из настроек ... Но было бы очень интересно узнать, можете ли вы запускать сценарии оболочки запуск только с помощью терминала для его настройки? Без необходимости перемещать мышь. Btw. Сценарий начнет различные сервисы, которые я использую для веб-разработки :-)Сделать сценарий оболочки запуска при запуске с помощью терминала? (Mac OS X)

Спасибо!

ответ

1

Для запуска скриптов/команд вы можете использовать launchd.

У вас должно быть 2 файла.

1) Сценарии оболочки.

2) plist файл.

Образец изображения: Сохраните его как: com.example.exampld.plist. Названия меток и plist предпочтительнее отдавать яблоком.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>com.example.exampled</string> 
    <key>LaunchOnlyOnce</key> 
     <true/> 
    <key>ProgramArguments</key> 
    <array> 
     <string>/bin/sh</string> 
     <string>absolute_path_to_script</string> 

    </array> 
</dict> 
</plist> 

И поместите его в соответствии с вашими потребностями.

Вот папки:

|------------------|-----------------------------------|---------------------------------------------------| 
| User Agents  | ~/Library/LaunchAgents   | Currently logged in user 
|------------------|-----------------------------------|---------------------------------------------------| 
| Global Agents | /Library/LaunchAgents    | Currently logged in user 
|------------------|-----------------------------------|---------------------------------------------------| 
| Global Daemons | /Library/LaunchDaemons   | root or the user specified with the key UserName 
|------------------|-----------------------------------|---------------------------------------------------| 
| System Agents | /System/Library/LaunchAgents  | Currently logged in user 
|------------------|-----------------------------------|---------------------------------------------------| 
| System Daemons | /System/Library/LaunchDaemons  | root or the user specified with the key UserName 
|------------------|-----------------------------------|---------------------------------------------------| 

В соответствии с вашими потребностями поместить его либо в 1-й или 2-й папки из списка выше.

Чтобы запустить сценарий, загрузите его с помощью launchctl или перезапустите mac.

Загрузка и выгрузка сценария:

Заканчивать apple website для ключей, которые могут быть использованы в PLIST.

Надеюсь, это поможет.

+0

Что такое 'keepAlive'? Этот ключ бесполезен для сценариев оболочки. – vadian

+0

@vadian почему? любая причина? – SkrewEverything

+0

Сценарии оболочки не имеют runloop. 'keepAlive' полезен только для процессов с runloop для возобновления процесса, если это необходимо. Кроме того, 'LaunchOnlyOnce' и' keepAlive' противоречивы. – vadian