• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Kann mir einer ein SH-Skript machen?

Cono

Newbie
Hallo,

wenn ich ins Netz will, dann muss ich immer WLAN aktivieren... das wird nciht übernommen, sondern ich muss immer:

//Terminal öffnen
su
//Passwort hin
iwconfig wlan0 essid //meine essid
iwconfig wlan0 mode Managed
iwconfig wlan0 key restricted s://mein wep-code
exit
exit

Kann da nicht wer ein Skript raus machen, damit ich nur noch das Passwort eingeben muss und der Rest automatisch geht?
Oder kann man das nciht einfach dazu bringen, die Einstellungen nicht zu vergessen und beim Start sofort wieder zu aktivieren?
Weil öh so bei eth0 (also Netzwerk) geht das nämlich!

mfg :wink:
 

AKO

Hacker
Du suchst ein Init Script.
Folgendes wär vllt nicht standartkonform aber müsste funktionieren:
Du erstellst eine Datei namens wlan im Verzeichniss /etc/init.d/ mit folgendem Inhalt:
Code:
#!/bin/bash
# Init Script - Startet Wlan Verbindung
#

case "$1" in
start)
echo -n "Starting WLAN: "
iwconfig wlan0 essid <meine essid>
iwconfig wlan0 mode Managed 
iwconfig wlan0 key restricted s://mein wep-code
echo "Done."
;;
stop)
echo -n "Stopping WLAN: "
iwconfig wlan0 down
echo "Done."
;;
esac
Dnach gibst du dieses Komando als root ein:
Code:
ln -s /etc/init.d/wlan /etc/rc3.d/S99wlan

Sehr spartanisch aber müsste laufen. Ich hoffe die case Syntax und der Link sind richtig gesetzt. Lange nicht mehr in Bash gescriptet ;)
Nun sollte das Wlan beim Booten starten.
Manuell kannst du als root
Code:
/etc/init.d/wlan start
eingeben.

MfG ako
 
Am besten du erstellst ein LSB-Komformes Script, dann kannst du es auch über YAST einbinden.
SuSE ist da afaik etwas empfindlich was das manuelle Verlinken von Init-Scripts angeht.
HOWTO

Eine Vorlage für ein Init-Script ist auch '/etc/init.d/skeleton'.
(Da kannst du z.B. das Script von AKO einarbeiten ...)

[edit]
Außerdem würde ich das ganze noch etwas erweitern:
Code:
case "$1" in
[...]
    restart)
       echo -n "Stopping WLAN: "
       $0 stop
       echo -n "Starting WLAN: "
       $0 start
       ;;
    *)
       echo "Usage: $0 {start|stop|restart}"
       exit 1
       ;;
esac
[/edit]
 
OP
C

Cono

Newbie
AKO schrieb:
Dnach gibst du dieses Komando als root ein:
Code:
ln -s /etc/init.d/wlan /etc/rc3.d/S99wlan

Öhm... macht dieser Befehl das in den Bootvorgang rein?
Ist das dann automatisch schon als root?
Und wofür steht dies: /etc/rc3.d/S99wlan?
 
man init.d
selber lesen macht klug :lol:
The script /etc/init.d/lpd starts or stops the line printer daemon for the printing service, according to the
flag used:

/etc/init.d/lpd start
and

/etc/init.d/lpd stop

To do this automatically in run level 3, this script is linked into /etc/init.d/rc3.d/ with these two symbolic
links

/etc/init.d/rc3.d/S20lpd -> ../lpd
and

/etc/init.d/rc3.d/K20lpd -> ../lpd

The corresponding link with the letter S is used to start a service. For the printing service the number between
the letter S and the name should be greater than the number of the start link of the network service. The corre-
sponding link with the letter K is used to stop a service. The number of the stop link for the printing service
should be less than that of the stop link for the network service so that the printer daemon is stopped before
shutting down the network service.

Aber ich weise noch einmal daraufhin, dass es unter SuSE besser ist ein LSB-Konformes Script zu erstellen und es über den Runlevel-Editor (YAST) einzubinden.
 
Oben