Залежно від своєї мети (Чи повинен я турбуватися і про вимкнення інтерфейсу даних?) Я можу вибрати план відповідно:
План A для (1) мережевих інтерфейсів та (2) інтерфейсу даних
План B для (1) мережевих інтерфейсів
(План 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
(План A #?) (Необов’язково) Отримайте лише список мережевих інтерфейсів:
Цей крок полегшує мене grep
.
$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Ethernet
FireWire
Wi-Fi
(План 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) Якщо хтось, хто дотримується вищевказаної процедури, зіткнеться з проблемою, чи можете ви звернутися до них у коментарі (або як в окремій відповіді)?