接続しているネットワークに応じてメッセージを表示する bash スクリプト (個人用) があります。その一環として、現在接続されているワイヤレス ネットワークの ID を確認したいと考えています。
私がやっていることは、の出力からワイヤレス名を解析することでありiwconfig
、名前、または特定のネットワークの特別なメッセージを出力したい:
SSID=`iwconfig wlan0|grep "ESSID:" | sed "s/.*ESSID:\"\(.*\)\"/\1/"` 2>/dev/null
case "$SSID" in
StaffOnly)
echo "Staff only network at Work" ;;
*)
echo "You're on a wireless network called $SSID"
esac
この 2 番目の部分 (接続しているネットワークの名前を出力する) は機能しますが、StaffOnly ネットワーク上にあるという特殊なケースは一致せず、他のネットワークに失敗します。
case
私は、ステートメントのどこが間違っているのか知りたいです。また、とにかくこれを行うためのより良い方法がある場合。