นี่คือตัวเลือกอื่นสำหรับผู้ที่พยายามทำเช่นนี้
แทนที่จะเรียกใช้คำสั่งทุก 5 นาทีคุณสามารถเรียกใช้ได้ทุกครั้งที่โฟลเดอร์/Library/Preferences/SystemConfiguration/
เปลี่ยนแปลง โดยทั่วไปจะเกิดขึ้นเฉพาะเมื่อมีการเปลี่ยนแปลงเครือข่ายบางประเภท
คุณสามารถทำได้โดยใช้Lingonหรือสร้าง launchd 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>AbandonProcessGroup</key>
<true/>
<key>Label</key>
<string>localhost.on_networkchange</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/your/script.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/SystemConfiguration/</string>
</array>
</dict>
แน่นอนคุณต้องการแทนที่/path/to/your/script.sh
เส้นทางจริง
โปรดทราบว่าคุณอาจต้องรวม 'sleep 10' ใกล้กับจุดเริ่มต้นของสคริปต์เพื่อให้ Mac มีโอกาสทำการปรับเปลี่ยนทั้งหมดเมื่อมีการเปลี่ยนแปลงเครือข่ายเกิดขึ้น
นอกจากนี้วิธีที่ง่ายที่สุดในการรับชื่อ (SSID) ของเครือข่าย AirPort ที่คุณเชื่อมต่อคือ:
airport -I | awk -F': ' '/ SSID/{print $NF}'
airport
คำสั่งที่สามารถพบได้/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
ใน 10.8 (และผมเชื่อว่า 10.7 และ 10.6)
ฉันมักจะเชื่อมโยงไปยัง / usr / local / bin:
ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
คุณอาจต้องใช้sudo
คำสั่งนั้นขึ้นอยู่กับการตั้งค่า / usr / local / bin / ของคุณ
สุดท้าย แต่ไม่ท้ายสุดคุณต้องพิจารณาว่าจะทำอย่างไรเมื่อคุณวางแล็ปท็อปของคุณเข้าสู่โหมดสลีป ตัวอย่างเช่นหากคุณอยู่ในสำนักงานตั้งแต่ 9-5 และนอนพักที่แล็ปท็อปที่ 5 คุณต้องการบันทึกสิ่งนั้นด้วยใช่ไหม มิฉะนั้นคุณจะรู้ได้อย่างไรว่าคุณจะจากไป?
เพื่อที่ฉันแนะนำ SleepWatcher 2.2 ซึ่งสามารถใช้ได้จากhttp://www.bernhard-baehr.de (ฟรีรวมรหัสที่มา) ซึ่งจะช่วยให้คุณเรียกใช้เชลล์สคริปต์เมื่อใดก็ตามที่ Mac ของคุณตื่นหรือหลับ
สิ่งที่ต้องพิจารณาอีกประการหนึ่งคือจะทำอย่างไรถ้าคุณออกจากระบบหรือปิดเครื่องคอมพิวเตอร์แทนที่จะหลับ ฉันไม่มีคำตอบที่ดีสำหรับสิ่งนั้น ในทางทฤษฎีLogoutHookจะเป็นคำตอบ แต่สิ่งเหล่านั้นดูเหมือนไม่น่าเชื่อถือโดยเฉพาะอย่างยิ่งเมื่อปิดระบบและออกจากระบบ
คำแนะนำที่ไม่เกี่ยวข้องอย่างสมบูรณ์
คุณพูดถึงว่าคุณมีอุปกรณ์ iOS บางทีวิธีหนึ่งในการแก้ไขปัญหานี้อาจเป็นการสร้างตัวเตือนความจำเมื่อใดก็ตามที่คุณมาถึงหรือออกจากงาน เมื่อการเตือนความจำดับลงให้เรียก Siri แล้วพูดว่า "จำงานที่เหลือเวลา 5 โมงเย็น" หรือ "จำได้ว่ามาถึงที่ทำงานตอน 9.00 น." และ Siri จะจดบันทึกไว้ ไม่หรูหราหรือไม่สมบูรณ์แบบอัตโนมัติ แต่ถ้าฉันดูการติดตามเวลาที่เรียกเก็บเงินได้ฉันจะไม่คิดว่าจะมีความซ้ำซ้อน :-)