我想制作一个简单的bash脚本来连接到已知的wifi网络。到目前为止,我已经。。。
#!/bin/bash
NETWORK_ID=${1:myintranet}
WIRELESS_KEY=${2:""}
WIRELESS_DEVICE=${3:wlan0}
if [ ! -n "$WIRELESS_KEY" ]; then
read -s -p "Enter Password: " WIRELESS_KEY
fi
#ifconfig wlan0
iwconfig wlan0 essid $NETWORK_ID key s:$WIRELESS_KEY
dhclient wlan0
当请求时,我输入网络的纯文本密码,但它失败,并出现错误iwconfig: unknown command "s:myPassword"
但我找不到任何理由,为什么它应该期待一个命令,而不是将密钥转换为十六进制。
这对WEP wifi来说很好。不要忘记用.sh扩展名命名脚本。
#!/bin/bash
NETWORK_ID=${1:myintranet}
WIRELESS_KEY=${2:xxx}
WIRELESS_DEVICE=${3:wlan0}
if [ -z "$WIRELESS_KEY" ]; then
read -s -p "Enter Password: " WIRELESS_KEY
fi
#ifconfig wlan0
iwconfig wlan0 essid $NETWORK_ID key s:$WIRELESS_KEY
dhclient wlan0
对于WPA无线网络,它可能不起作用。考虑使用wpa_pplient或使用wicd(wicd gtk)对其进行配置