আমার কাছে নিম্নলিখিত লঞ্চ এজেন্ট রয়েছে যা OS X এ চলবে এবং একটি অ্যাপ্লিকেশন মুছে ফেলার জন্য নিচের স্ক্রিপ্টটি চালাবে যখন ব্যবহারকারী অ্যাপ স্টোর থেকে ওএস আপগ্রেড ডাউনলোড করে। এটি মুছে ফেলার পরে এটি একটি ব্যবহারকারীকে একটি বার্তা প্রদর্শন করে।
#!/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
আমি এখন এটি প্যাকেজ করতে যাচ্ছি এবং তারপরে আমাদের সব ম্যাক মেশিনে এটি স্থাপন করব। আমার প্রশ্নটি প্যাকেজটি ইনস্টল হওয়ার পরে স্বয়ংক্রিয়ভাবে "লোড" স্বয়ংক্রিয়ভাবে লোড করার জন্য প্যাকেজটি পেতে স্ক্রিপ্টটিতে কী যোগ করা হয়?
তাই অন্য কথায় আমি কিভাবে এই কমান্ডটি অন্তর্ভুক্ত করব?
sudo launchctl load /Library/LaunchAgents/net.company_name.blocksierra.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>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>