接続されたwifiネットワークssidを取得する方法?


8

現在接続されているwifiネットワークssidをbashスクリプトで取得したいのですが。ホームwifiネットワークに接続されている場合、スクリプトがNASサーバーへのバックアップを実行するバックアップスクリプトを記述しようとしています。ip routeコマンドを調べましたが、一部の基本情報しか返されません- ここに画像の説明を入力してください

回答:


4

以下は、1つのワイヤレスデバイスを使用して接続していると想定して探しているものを提供します。

nmcli -t -f ssid dev wifi| cut -d\' -f2

接続されているすべてのネットワークを返します。接続されているネットワークのみを検索できますか?
チャン

このように試して私に知らせてください:nmcli -t -f active、ssid dev wifi | カット-d \ '-f2
Luis Alvarado

まだ多くの結果を返す
Chan

出力として表示されているものをペーストビン化できますか?
Luis Alvarado 2013

1
これは私にとってはうまくいきますnmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2
Jacob Evan Shreve


2

このコマンドは、接続されているワイヤレスアダプターのSSIDを返します(1つしかない場合)。

iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/'

端末にも警告が出力されますが、stderrには関係ないため、

remi@host~$id:~$ id=$(iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/')
eth0      no wireless extensions.
lo        no wireless extensions.
virbr0    no wireless extensions.
tap0      no wireless extensions.

remi@host:~$ echo $id
CISPI

1

いかがiwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'ですか


0
nmcli -t -f NAME connection show --active
  • -t ヘッダーなしで出力を「簡潔」にします
  • -f NAME ssidのみを表示します
  • --active アクティブな接続のみを表示します

これは、SSIDではなく、接続の名前を出力します。NAMEは通常SSIDに対応しますが、常にそうであるとは限りません。NetworkManager接続のNAMEは、任意のランダムな値に変更できます。
j123b567


0

NetworkManager-1.8.4では、これにより正しい結果が生成されました

LANG=C nmcli -t -f active,ssid dev wifi | grep ^yes | cut -d: -f2-

コマンドのすべての部分に理由があります

  • LANG=C ローカライズされた文字列でgrepを使用しているため、英語を強制します
  • nmcli ... -f active,ssid ... アクティブなステータスのssidをフォームに出力します yes:myssid no:otherssid
  • grep ^yes アクティブな接続をフィルタリングしたいが、テキストが「yes」のSSIDはフィルタリングしないので、 ^
  • cut ... -f2- 行の残りを最初のセパレーターの後に印刷するので、セパレーターを含むSSIDを含めることができます
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.