2010-12-19 14 views

Odpowiedz

83

Komenda

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I 

daje szczegółowe informacje o bieżącym połączeniu z siecią bezprzewodową.

Aby dokładniej SSID, użyj polecenia:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}' 
+0

Po wykonaniu drugiego polecenia nie działa poprawnie. Identyfikator SSID, do którego jestem podłączony, zawiera spacje, a to polecenie wyświetla tylko pierwsze słowo. –

+1

@Mark: Zaktualizowałem drugie polecenie, aby działało na identyfikatorach SSID, w których również znajdują się spacje. Mam nadzieję że to pomoże! – Chetan

+1

Poinformuj 'awk', aby użył': 'jako ogranicznika, a otrzymasz pełny identyfikator SSID:' awk -F ':' '/ SSID/{print $ 2}' ' – Johnsyweb

4

Poniżej został przetestowany na OS X i drukuje SSID bez zakodowane szerokości kolumn:

system_profiler SPAirPortDataType | awk -F':' '/Current Network Information:/ { 
    getline 
    sub(/^ */, "") 
    sub(/:$/, "") 
    print 
}' 

Zasadniczo to pobiera wyjście system_profiler SPAirPortDataType i wypisuje wiersz po "Current Network Information:" przycinaniu początkowych białych znaków i końcowych dwukropków (ponieważ SSID mogą zawierać : s).

+2

'system_profiler' ma małe opóźnienie na moim OS X 10.8. 'networksetup' potrzebuje Nazwa interfejsu portu lotniczego. Wolałbym 'lotnisko | sed -n 's/^ * SSID: // p'' – zhangyoufu

+0

Dzięki. Na MacOS Sierra jest to 'airport --getinfo | sed -n 's/^ * SSID: // p'' –

30

Gdzie nie jest koło potrzebne do ponownego wynalezienia?

networksetup -getairportnetwork en1 | cut -c 25- 

jest czego można użyć na 10,6, 10,7 zmienił „Hardware Port” nazwę z „lotniska” do „Wi-Fi”, a więc chcesz odciąć jedną mniej list,

aru$ networksetup -getairportnetwork en1 | cut -c 24- 
Yorimichi 
+5

Uwaga Komentarz Johnsyweb'a powyżej re: awk; zamiast używać 'cut' możesz uruchomić' networksetup -getairportnetwork en1 | awk -F ":" '{print $ 2}' ', które zadziała niezależnie od tego, czy etykieta zawiera" Airport "czy" Wi-Fi ". – larsks

+2

Wadą jest to, że musisz znać swoją nazwę interfejsu WLAN. Widziałem e1 na macach, które mają wbudowany ethernet (przypisany e0) tworząc interfejs WiFi 'e1', który wydaje się być w przypadku tej odpowiedzi. Inni mają 'e0'. Oczywiście jest to łatwa edycja, ale jeśli spróbujesz uczynić ją ogólną, odpowiedź @Chetana wydaje się łatwiejsza. – nhed

+0

Lub użyj: networksetup -getairportnetwork en1 | cut -d ':' -f2 | cut -c 2- – RichS

Powiązane problemy