Nach mehrmaligen Test, habe ich ab und zu das Problem, dass ich das Skript 3mal oder aufrufen muss, bis eine Verbindung hergestellt wird.
Wenn ich noch folgende print-Zeilen einfüge,
Code: Alles auswählen
if ("$k" eq "$input"){
# Die SSID des Netzes in eine Datei schreiben
open (DAT,">","$datei") or die "Konnte die Datei \"$datei\" nicht öffnen!\n";
print DAT $input;
close(DAT);
print "Verbindung zu WLAN-Netz \"$input\" wird aufgebaut...\n";
print "...\n";
my @system=`sudo ifup eth2`;
print "...\n";
print "@system\n";
print "...\n";
}
um zu schauen was so passiert, sehe ich folgende Ausgabe:
Code: Alles auswählen
daniel@daniel-laptop:~/scripts$ wlan
1.WLAN-Netz: WLAN01
Mit welchem der oberen WLAN-Netze soll eine Verbindung aufgebaut werden?
Bitte das gewünschte WLAN-Netz eingeben: WLAN01
Verbindung zu WLAN-Netz "WLAN01" wird aufgebaut...
...
...
...
Es sieht so aus, als ob der Shell-Befehl
sudo ifup eth2 gar nicht ausgeführt wird, weil die Ausgabe des arrays, in dem der Befehl gespeichert werden soll, leer ist (wie oben zu sehen).
Hat jemand eine Idee, woran das liegen kann?
[edit]
Habe nun in dem Skript noch die vollständigen Pfade ergänzt, was aber auch leider nichts zu bringen scheint.
So wie es aussieht, wir der Befehl einfach nicht ausgeführt (warum auch immer).
[/edit]