Daß es yes/no heißt, ist mir schon aufgefallen, keine Angst. Das Skript arbeitet ja auch so, nur akzeptiert es statt
yes (benutzerfreundlicherweise) auch
1, true oder
on. Und funktionieren sollte es auch nach einen Neustart.
Was Du in dem anderen Thread als Lösung gesehen hast, weiß ich nicht. Da steht nur, wie man den WLAN-Teil der Netzwerkdienste neu startet. In Kombination mit meinem Skript könnte das allerdings was werden, indem Du die Zeile
Code:
/etc/init.d/rc.net wlanreload
anhängst. Wie ich ja schrieb, der Dienst muß neu gestartet werden. Daß das funktioniert, kannst Du checken, indem Du schaust, ob der Prozeß
wstart läuft, indem Du seine PID (process id) checkst. Gibt es eine, läuft er (und damit WDS), gibt es keine, läuft er nicht:
Ich habe das probiert, es klappt. Das ganze Skript also nochmal:
Code:
#!/bin/sh
case "$1" in
no|0|false|off)
switch=no
;;
yes|1|true|on)
switch=yes
;;
*)
echo "Usage: $0 [no|yes|0|1|false|true|off|on]" 1>&2
exit 1
;;
esac
cat /var/flash/wlan.cfg | sed -r "s/(WDS_enabled = )(.*);/\1$switch;/" > /tmp/wlan.cfg
cat /tmp/wlan.cfg > /var/flash/wlan.cfg
/etc/init.d/rc.net wlanreload
echo "PID von wstart = $(pidof wstart)"