Shellscript mit ifup

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
steff aka sid
Beiträge: 90
Registriert: 14.12.2004 14:41:35
Kontaktdaten:

Shellscript mit ifup

Beitrag von steff aka sid » 21.08.2005 12:22:35

Hi ich will mir ein Script schreiben das überprüft ob eine Interface schon mit ifup configuriert wurde oder nicht. Wenn es configuriert ist soll es mit ifdown erst deconfiguiert werden und dann mit ifup neu configurieren wie kann ich das machen. Gibt es eine Möglichkeit die Rückgabe von ifup einer Variablen zuzuweisen und diese dann mit einer If Abfrage zu überprüfen???
Gruß Steff
Unexpected end of file

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 21.08.2005 12:34:29

hi,

du kannst mit

Code: Alles auswählen

test=$(ifup)
die ausgabe von jedem befehl in eine variable schreiben und diese dann weiter testen.
mfg
mauser

Benutzeravatar
steff aka sid
Beiträge: 90
Registriert: 14.12.2004 14:41:35
Kontaktdaten:

Beitrag von steff aka sid » 21.08.2005 12:56:19

das hab ich schon probiert aber der schreibt irgendwie da nichts rein habs mit
test=($(sudo ifup eth1)); probiert aber kein Erfolg.
Gruß Stefrf
Unexpected end of file

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 21.08.2005 13:28:52

hi,
so geht es:

Code: Alles auswählen

          #!/bin/sh 
          test=$(ifup eth0)
          echo $test
          
ich vermute das du in die variable den rückgabewert von sudo schreibst, und nicht den von ifup. d.h. es ist besser wenn du evtl. mal das ganze skript per sudo aufrufst oder es erstmal als root probierst. vll. kann man es dann auch noch eleganter lösen, so das wirklich nur ein befehl als root ausgeführt wird..
mfg
mauser

Benutzeravatar
steff aka sid
Beiträge: 90
Registriert: 14.12.2004 14:41:35
Kontaktdaten:

Beitrag von steff aka sid » 21.08.2005 16:40:23

So hab jetzt folgendes Script das funzt :-) falls es wen interessiert:

Code: Alles auswählen

#!/bin/sh
if sudo iwconfig eth1 essid DEINEESSID enc ENCRYPTIONKEY mode Managed; then
echo "Essid: DEINEESSID";
echo "Encryption Key set!";
fi

function downUp(){
  sudo ifdown eth1;
  sudo ifup eth1;
  echo "eth1 reconfigured";
}

function up(){
  sudo ifup eth1;
  echo "eth1 configured";
}

test=$(cat "/etc/network/run/ifstate" | grep "eth1");
if [ "$test" = "eth1=eth1" ]; then
  downUp;
else
  up;
fi
echo "Wirelesslan configured";
Gruß Steff
Unexpected end of file

Antworten