2017-06-14 108 views
0

我想在特定外部藍牙設備連接到我的Mac時啓動shell命令。Mac:通過藍牙連接設備時啓動命令

一個很好的方式(無需安裝第三方軟件)這樣做是在〜/庫添加plist文件/ LaunchAgents

this page,有當WiFi連接到發射事件的例子具體位置。

<key>WatchPaths</key> 
<array> 
    <string>/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist</string> 
</array> 

你認爲它會可以做同樣的藍牙事件:它是通過監視一個特定的文件呢?

感謝您的幫助!

+0

我發現/Library/Preferences/com.apple.Bluetooth.plist文件中的服務。但是這個文件變化太多了 – iero

回答

0

創建〜/庫/ LaunchAgents包含文件:

<key>Label</key> 
<string>Smartcard reader</string> 

<key>ProgramArguments</key> 
<array> 
    <string>/Users/USERNAME/Library/Scripts/script.bash</string> 
</array> 

<key>WatchPaths</key> 
<array> 
    <string>/Library/Preferences/com.apple.Bluetooth.plist</string> 
</array> 

而且在/Users/USERNAME/Library/Scripts/script.bash我們可以測試連接的設備是否正確:

if [ $(system_profiler SPBluetoothDataType | grep "Smart Reader 2501" | wc -l) -eq 1 ] ; then 
    echo "Smartcard connected" 
fi 

啓動使用

launchctl load ~/Library/LaunchAgents/yourscript 
相關問題