Tôi có tác nhân khởi chạy sau chạy trên OS X và chạy đoạn script bên dưới để xóa ứng dụng khi người dùng tải xuống bản nâng cấp hệ điều hành từ cửa hàng Ứng dụng. Sau đó nó sẽ hiển thị một thông báo cho người dùng sau khi nó bị xóa.
#!/bin/bash
Version=$(sw_vers | grep ProductVersion | tail -c 7 | cut -d . -f 2)
if [[ $Version -ge 11 ]]
then
launchctl unload /Library/LaunchAgents/net.company_name.blocksierra.plist
rm -f /Library/LaunchAgents/net.company_name.blocksierra.plist
rm -f /usr/local/bin/blocksierra.sh
exit 0
else
rm -rf /Applications/Install\ macOS\ Sierra\ Public\ Beta.app/
osascript -e 'display dialog "macOS sierra is not allowed on computers at this time." with title "Technology Notice" buttons {"OK"} default button "OK" giving up after 30'
fi
Bây giờ tôi sẽ đóng gói nó và sau đó triển khai nó cho tất cả các máy Mac của chúng tôi. Câu hỏi của tôi là tôi phải thêm gì vào tập lệnh để có được gói tự động "tải" launchagent tự động sau khi gói được cài đặt?
Vì vậy, nói cách khác, làm thế nào để tôi kết hợp lệnh này?
sudo launchctl load /Library/LaunchAgents/net.company_name.blocksierra.plist
Đây là số nhiều
<?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>net.company_name.blocksierra</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/blocksierra.sh</string>
</array>
<key>KeepAlive</key>
<dict>
<key>PathState</key>
<dict>
<key>/Applications/Install macOS Sierra Public Beta.app/</key>
<true/>
</dict>
</dict>
<key>OnDemand</key>
<true/>
</dict>
</plist>