ম্যাক ওএস এক্স একটি ফাইল আপডেট /Library/Preferences/SystemConfiguration/
নামক preferences.plist
। এটি একটি কী বলা আপডেট CurrentSet
বর্তমান অবস্থানের UUID এ (প্রতিটি অবস্থানটি যখন এটি তৈরি হয় তখন একটি UUID দেওয়া হয়।) আপনি যে অবস্থানটির সন্ধান করে সেই অবস্থানটির নাম নির্ধারণ করতে পারেন UserDefinedName
UUID নামে একই নামের সাথে অভিধানে কী।
উদাহরণ স্ক্রিপ্ট:
#! /bin/bash
# Proof of Concept Script to check if the location changed.
CURRENT_LOCATION=`/usr/libexec/PlistBuddy -c "Print :CurrentSet" /Library/Preferences/SystemConfiguration/preferences.plist | sed 's/\/Sets\///'`
CURRENT_LOCATION_NAME=`/usr/libexec/PlistBuddy -c "Print :Sets:$CURRENT_LOCATION:UserDefinedName" /Library/Preferences/SystemConfiguration/preferences.plist`
# If location is the one we want:
# Logger puts the message into syslog
if [ $CURRENT_LOCATION_NAME == "Office" ]; then
logger "`date` => In the Office"
#Commands to set up SSH Tunnel among others
else
# If the location is not the one we want: Undo whatever we have done.
logger "`date` => Out of Office"
#Commands here for when you leave the office location
fi
উদাহরণ লঞ্চ যখনই অবস্থান পরিবর্তন হয় তখন উপরে স্ক্রিপ্ট চালানোর জন্য:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.IDENTIFIER_HERE.SOMETHING</string>
<key>OnDemand</key>
<true/>
<key>Program</key>
<string>/PATH/TO/SCRIPT</string>
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/SystemConfiguration/preferences.plist</string>
</array>
</dict>
</plist>
স্ক্রিপ্টের পথটি পূরণ করুন, এটি একটি সনাক্তকারী দিন এবং একই নাম দিয়ে এটি সংরক্ষণ করুন (যেমন। local.lajuette.location
নামের একটি ফাইল থাকা উচিত local.lajuette.location.plist
)। এই ফাইল অনুলিপি করুন ~/Library/LaunchAgents
এবং চালানো launchctl load ~/Library/LaunchAgents/name.of.plist.here.plist
। নমুনা ফাইলগুলি Console.app খুলুন এবং লাইনটির জন্য চেক করুন: "DATE = & gt; অফিসে" বা "DATE = & gt; অফিসের বাইরে"।
আপনি চেক আউট করতে চাইতে পারেন: ম্যাক ওএস এক্স এ প্রতিদিন চালানোর জন্য আমি কিভাবে স্ক্রিপ্ট পেতে পারি যদি আপনি নিশ্চিত না হন তবে লঞ্চড লোড ব্যবহার করে আপনার স্ক্রিপ্টটি লোড এবং রান করতে আরও তথ্যের জন্য।