t113-shell文件制作
WiFi页面的设置大概已经做好了,但是差个交互,不然就只能暂时的设置ip地址不能够上电就设置,那么我们就需要一个shell脚本文件来执行这些和内核交互的指令
建立一个shell基本文档
wifi的写入设置函数:
add_wifi_conf(){
[ ! -e /var/run ] && mkdir -p /var/run
[ ! -e /var/run/wifi.conf ] && touch /var/run/wifi.conf
status="`cat /etc/wpa_supplicant.conf | grep "$1"`"
if [ "$status" == "" ]; then
echo $status
id=$(wpa_cli -p /var/run/wpa_supplicants -i wlan0 add_network) && \
echo "`wpa_cli -p /var/run/wpa_supplicants -i wlan0 set_network $id ssid '"'$1'"'`" && \
echo "`wpa_cli -p /var/run/wpa_supplicants -i wlan0 set_network $id psk '"'$2'"'`"
echo "`wpa_cli -p /var/run/wpa_supplicants -i wlan0 select_network $id`"
echo "`wpa_cli -p /var/run/wpa_supplicants -i wlan0 save_config`"
else
id=$(wpa_cli -p /var/run/wpa_supplicants -i wlan0 list_network | grep "$1" | awk '{print $1}') && \
echo "`wpa_cli -p /var/run/wpa_supplicants -i wlan0 select_network $id`"
echo $status
fi
}
这里要注意的是''中间的变量是不能变的,如果要加入变量那就要跟我一样再加一个''
同时,由于之前的awk的使用并不明确清晰,在这儿补充一下用法:
https://blog.csdn.net/onj123/article/details/100743092
ip设置的文件写入 :
set_wifi_ip_conf(){
[ ! -e /var/run ] && mkdir -p /var/run
[ ! -e /var/run/wifi.conf ] && touch /var/run/wifi.conf
echo "hcpc 0 ip $2" > /var/run/wifi.conf
}
简单地写一下交互:
既然吧ip写入到文件里面了那么网络的静态地址也要改一下:
我把网络启动时候的连接文件放在了init.d中
S45network
这样启动就可以根据文件设置ip地址了