2016-12-04 7 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 
|------------------|-----------------------------------|---------------------------------------------------| 

あなたの必要性のいずれかの第一またはリストの上から2番目のフォルダに配置しますによると。

launchctlを使用してスクリプトを実行するか、macを再起動してください。

ロードとスクリプトをアンロード:

plistの中で使用することができますキーのapple websiteをチェックしてください。

私はそれが役に立ちそうです。

+0

「keepAlive」とは何ですか?このキーはシェルスクリプトでは役に立たない。 @vadianなぜですか? – vadian

+0

?何らかの理由? – SkrewEverything

+0

シェルスクリプトにはrunloopがありません。 'keepAlive'は必要に応じてプロセスを再起動するためのrunloopを持つプロセスにのみ有効です。さらに、 'LaunchOnlyOnce'と' keepAlive'は矛盾しています。 @vadianがそれを手に入れた。 – vadian

関連する問題