ขึ้นอยู่กับวัตถุประสงค์ของฉัน (ฉันควรกังวลเกี่ยวกับการปิดอินเทอร์เฟซข้อมูลด้วยหรือไม่) ฉันสามารถเลือกแผนตาม:
แผน Aสำหรับ (1) ส่วนต่อประสานเครือข่ายและ (2) ส่วนต่อประสานข้อมูล
แผนขสำหรับ (1) การเชื่อมต่อเครือข่าย
(Plan A # 1) รับข้อมูลอินเตอร์เฟสฮาร์ดแวร์ที่ติดตั้ง (รวมถึงส่วนต่อข้อมูล):
ก่อนอื่นฉันอยากรู้ว่าฉันควรกังวลเกี่ยวกับอินเตอร์เฟสประเภทใด
$ networksetup -listallhardwareports
Hardware Port: Bluetooth DUN
Device: Bluetooth-Modem
Ethernet Address: N/A
Hardware Port: Ethernet
Device: en0
Ethernet Address: ff:ff:ff:ff:ff:ff
Hardware Port: FireWire
Device: fw0
Ethernet Address: ff:ff:ff:ff:ff:ff:ff:ff
Hardware Port: Wi-Fi
Device: en1
Ethernet Address: ff:ff:ff:ff:ff:f
(Plan A #?) (ไม่บังคับ) รับรายการอินเตอร์เฟสเครือข่ายเท่านั้น:
grep
ขั้นตอนนี้ทำให้ผมง่ายต่อการ
$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Ethernet
FireWire
Wi-Fi
(Plan A # 2) รับชื่ออุปกรณ์ของอินเทอร์เฟซเครือข่าย
ฉันต้องการทราบว่าส่วนต่อประสานเครือข่ายใดที่ / กำลังใช้งานอยู่
$ ifconfig
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ff:ff:ff:ff:ff:ff
media: autoselect (none)
status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ff:ff:ff:ff:ff:ff
inet6 ffff::ffff:ffff:ffff:ffff%en1 prefixlen 64 scopeid 0x5
inet 192.168.1.fff netmask 0xffffff00 broadcast 192.168.1.fff
media: autoselect
status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
lladdr ff:ff:ff:ff:ff:ff:ff:ff
media: autoselect <full-duplex>
status: inactive
(แผน B # 1) ค้นหาairport
คำสั่งหรือตั้งชื่อแทนสำหรับairport
คำสั่งหากไม่ได้รับการยอมรับ:
ระบบของฉันไม่สามารถรับรู้คำสั่งเพื่อให้ฉันได้เพิ่มด้านล่างบรรทัดairport
.bash_profile
alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport'
(แผน B # 2) ตรวจสอบสถานะ AirPort ปัจจุบัน:
$ ./airport -I
agrCtlRSSI: -10
agrExtRSSI: 0
agrCtlNoise: -10
agrExtNoise: 0
state: running
op mode: station
lastTxRate: 100
maxRate: 100
lastAssocStatus: 0
802.11 auth: open
link auth: fffffffffffffffff
BSSID: ff:ff:ff:ff:ff:ff
SSID: MelvNetwork
MCS: 15
channel: 6
(แผน A & B # 3) การเปิด / ปิด AirPort:
# For OS X 10.7 and later
$ networksetup -setairportpower en1 on # Turn on Airport
$ networksetup -setairportpower en1 off # Turn off Airport
# for OS X 10.6 and below
$ networksetup -setairportpower on # Turn on AirPort
$ networksetup -setairportpower off # Turn off AirPort
(แผน A & B # 4) การเปิด / ปิด BlueTooth:
ดาวน์โหลดที่นี่blueutil
$ blueutil status # Check status of BlueTooth
Status: on
$ blueutil on # Turn BlueTooth on
$ blueutil off # Turn BlueTooth off
สคริปต์:
ตอนนี้ฉันมีส่วนผสมทั้งหมดแล้วฉันสามารถเขียนสคริปต์สำหรับ OS X 10.7 ได้!
ความคิดเห็นล่าสุด:
(1) เอาต์พุตบางส่วนถูกปิดบังด้วยอักขระ 'f'
(2) ตาม$ man networksetup
, คุณสามารถกำหนดค่าพร็อกซี, TCP / IP, PPPoE เช่นกัน (ไม่ผ่านการทดสอบ)
(3) @ ข้อเสนอแนะของ @ RichHomolka networksetup --enableuserprofile
ถูกคัดค้านสำหรับ OS X 10.7 (ไม่ได้ทดสอบในรุ่นอื่น)
(4) หากใครก็ตามที่ทำตามขั้นตอนข้างต้นพบปัญหาคุณสามารถช่วยพวกเขาในการแสดงความคิดเห็น (หรือคำตอบแยกต่างหาก) ได้ไหม?