ラップトップのショートカットがワイヤレスカードの状態を変更しないことを考慮して、それを実行してからキーにマッピングする短いスクリプトを作成したいと思いました。
私の研究では、ファイルは(とにかく)「実行」できるbashスクリプトファイルなので、次のスクリプトを使用してファイルを作成し始め.sh
ました。.sh
#!/bin/bash
if
( ip link set wlan0 "up" );
then
sudo ip link set wlan0 down
else
sudo ip link set wlan0 up
fi
このコマンドを使用してスクリプトを実行していますが、./
一方の方向では動作しますが、逆方向では動作しません。
上→下
**編集する**
私のバージョンがKali Linux(Debian)でiproute2を使用していることに言及するのを忘れていました。
答え1
KaliがNetworkManagerを使用している場合は、nmcliコマンドを使用できる必要があり、次のコマンドを使用してWi-Fi無線をオンまたはオフにします。
nmcli radio wifi off
nmcli radio wifi on
答え2
@GAD3R ありがとうございます。
あなたのスクリプトは私にはうまくいきませんでしたが、うまくいくように少し修正しました。
私のコンピュータはそこから何も読み取れなかった/sys/class/net/wlan0/carrier
ので、grep
そこから読み、ip a
状態を「上」または「下」に変更する必要があるかどうかを決定しました。
それ以外にも、私がzenity
変更したことに関する通知を画面に表示したりしました。スクリプトは最終的に次のようになりました。
#!/bin/bash
if
ip a | grep -q "wlan0: <BROADCAST,MULTICAST>";
then
ip link set wlan0 up
zenity --notification --text="Wireless state changed to UP"
else
ip link set wlan0 down
zenity --notification --text="Wireless state changed to DOWN"
fi
次に、ショートカットキーを押したときにキーボードショートカットを使用してこのコマンドを実行します。
助けてくれてありがとう。
ジャック
答え3
Wi-Fiインターフェースの状態を確認してください/sys/class/net/wlan0/carrier
。たとえば、次のようになります。
#!/bin/bash
if grep -q 0 /sys/class/net/wlan0/carrier ; then
ip link set wlan0 up
else
ip link set wlan0 down
fi