Saya ingin mendapatkan jaringan wifi yang terhubung saat ini dalam skrip bash. Saya mencoba untuk menulis skrip cadangan di mana skrip akan melakukan pencadangan ke server NAS jika terhubung ke jaringan wifi rumah saya. Saya telah melihat ke dalam ip route
perintah tetapi hanya mengembalikan beberapa informasi dasar -
8
nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2
.atau
sumber
sudo iwgetid -r
bekerja untukku. (raspberry pi)Perintah ini mengembalikan SSID dari adaptor nirkabel yang terhubung (dengan asumsi Anda hanya memilikinya).
Ini juga mencetak peringatan pada terminal tetapi pada stderr sehingga tidak masalah
sumber
Bagaimana kalau
iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'
?sumber
-t
Membuat output 'singkat' sehingga tidak ada header-f NAME
Hanya menampilkan ssid--active
Hanya menunjukkan koneksi aktifsumber
Saya mencoba ini:
sumber
Dengan NetworkManager-1.8.4, ini menghasilkan hasil yang benar
Ada alasan untuk setiap bagian dari perintah
LANG=C
karena kami menggunakan grep pada string yang dilokalkan jadi paksa bahasa Inggrisnmcli ... -f active,ssid ...
menyebabkan untuk mencetak ssid dengan status aktif dalam bentukyes:myssid
no:otherssid
grep ^yes
kami ingin memfilter koneksi aktif, tetapi bukan SSID dengan teks "ya" jadi itu alasannya^
cut ... -f2-
mencetak sisa garis setelah pemisah pertama sehingga kita dapat memiliki SSID dengan pemisah di dalamnyasumber