Toon posts:

Shellscript probleempje :-)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende probleem: ik wil via een shellscript kunnen vaststellen of een interface up of down is.

Als ik het commando 'ifconfig -a | grep ppp0' uitvoer, krijg ik bij een actieve verbinding als output:

"ppp0 Link encap:Point-to-Point Protocol"

En als die niet bestaat gewoon helemaal niks :)

Maar nu komt het: hoe zet ik deze output in een variabele?

MYSTR = `ifconfig -a | grep ppp0` werkt namelijk niet.

Het gaat er dus om dat ik kan controleren of deze bestaat. Het hoeft niet eens in een variabele, een if-statement is misschien zelfs beter :)

*is shellprogramming n00b* :)

Verwijderd

MYSTR=`ifconfig -a | grep ppp0`

Zal wel werken. Er mogen geen spaties rond het =-teken staan. Maar waarom ping je de interface niet om te kijken of ie up is, als ie down is krijg je een return value van niet-nul. Zoiets dus:
code:
1
2
3
4
5
6
`ping -c 1 ip.van.ppp.0`
if [ $? -ne 0 ]; then
    echo hellup, ppp0 is down
else
    echo jeuj hij doet het nog
fi

Verwijderd

Topicstarter
Nou, het volgende werkt *D

---

tst=`/sbin/ifconfig -a | grep ppp0`
if [ $? -ne 0 ]; then
echo "ppp0 verbinding down"
else
echo "ppp0 verbinding actief"
fi

---

Als ik jouw code uitvoer, krijg ik: "PING: command not found" :)

Verwijderd

Topicstarter
Wel vreemd, omdat ping wel op de PC staat. Ik kan ook gewoon pingen :)

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
Op maandag 21 januari 2002 11:20 schreef cr33p het volgende:
Als ik jouw code uitvoer, krijg ik: "PING: command not found" :)
Probeer eens het volledige path van ping mee te geven.

  • Equator
  • Registratie: April 2001
  • Laatst online: 11:49

Equator

Crew Council

🦺#Rodekruis #whisky #barista

Op maandag 21 januari 2002 11:20 schreef cr33p iets onzinnigs:

Als ik jouw code uitvoer, krijg ik: "PING: command not found" :)
unix/ linux/*nix is hoofdletter gevoelig.. |:(

PING is dus geen commando, en ping wel ;)

Suc6

  • bodiug
  • Registratie: Augustus 2001
  • Laatst online: 11:26
je kan ook gewoon:

# ifconfig ppp0

ifconfig ppp0

if [ "$?" != "0" ]; then
echo "doet het niet enzo..."
fi

zoiets..

Verwijderd

Topicstarter
Op maandag 21 januari 2002 11:36 schreef CyberJ het volgende:

unix/ linux/*nix is hoofdletter gevoelig.. |:(
Ik ben ook geen totale n00b :P

Ik gaf als commando `/bin/ping -c 1 213.10.55.124`

En hij geeft het als "PING: command not found" terug |:(

Verwijderd

Topicstarter
Op maandag 21 januari 2002 11:38 schreef guidob het volgende:
je kan ook gewoon:

# ifconfig ppp0

ifconfig ppp0

if [ "$?" != "0" ]; then
echo "doet het niet enzo..."
fi

zoiets..
Hmm:

---

ifconfig ppp0 > /dev/null
if [ "$?" != "0" ]; then
echo "ppp0 down"
else
echo "ppp0 up"
fi

---

Thanx ;)

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
Op maandag 21 januari 2002 11:45 schreef cr33p het volgende:

[..]

Ik ben ook geen totale n00b :P

Ik gaf als commando `/bin/ping -c 1 213.10.55.124`

En hij geeft het als "PING: command not found" terug |:(
Dat lijkt me wel *errug* vreemd. Je typt in ping, en bash zeg dat PING niet bestaat :?

Verwijderd

edit:

begint stevig aan zichzelf te twijffelen

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 10:02

TrailBlazer

Karnemelk FTW

Op maandag 21 januari 2002 11:05 schreef strlen het volgende:
MYSTR=`ifconfig -a | grep ppp0`

Zal wel werken. Er mogen geen spaties rond het =-teken staan. Maar waarom ping je de interface niet om te kijken of ie up is, als ie down is krijg je een return value van niet-nul. Zoiets dus:
code:
1
2
3
4
5
6
`ping -c 1 ip.van.ppp.0`
if [ $? -ne 0 ]; then
    echo hellup, ppp0 is down
else
    echo jeuj hij doet het nog
fi

Dit zal niet gaan werken als je een wisselend IP adres hebt

Verwijderd

Topicstarter
Na ja, deze ga ik gebruiken, omdat 'ie in tegenstelling tot anderen hier gewoon werkt:

# Check for ppp0 interface
/sbin/ifconfig ppp0 > /dev/null
if [ "$?" != "0" ]; then
echo "ppp0 down"
else
echo "ppp0 up"
fi

:P

  • bodiug
  • Registratie: Augustus 2001
  • Laatst online: 11:26
dankje :-) :P

Verwijderd

Topicstarter
Op maandag 21 januari 2002 12:01 schreef guidob het volgende:
dankje :-) :P
Mijn dank aan jou :)

En de rest voor de moeite :Y)

Verwijderd

zow :) ik ben weer helder :) dit zal t scriptje moeten worden, naar mijn id:
code:
1
2
3
4
5
6
7
8
9
#!/bin/sh

ISUP=$(ifconfig |grep 'ppp0' |wc -l);

if (($ISUP > 0)); then
    echo "PPP is UP!";
else
    echo "PPP is DOWN!";
fi

edit:

maar wel te laat :( :'(

Verwijderd

Topicstarter
Op maandag 21 januari 2002 12:06 schreef Reflex het volgende:
zow :) ik ben weer helder :) dit zal t scriptje moeten worden, naar mijn id:
*code*
Volgens mij werkt 'ie niet en daarvoor hoef ik hem niet eens te testen :P ;)

Je gebuikt namelijk eerst ISUP en daarna TEST :Y)

*heeft wel programmeerervaring met BASIC, C/C++ en PHP* :)

Verwijderd

Op maandag 21 januari 2002 12:21 schreef cr33p het volgende:

[..]

Volgens mij werkt 'ie niet en daarvoor hoef ik hem niet eens te testen :P ;)

Je gebuikt namelijk eerst ISUP en daarna TEST :Y)

*heeft wel programmeerervaring met BASIC, C/C++ en PHP* :)
nog niet helder genoeg dus :z :z niet geslapen vannacht :)

Verwijderd

Topicstarter
Op maandag 21 januari 2002 12:28 schreef Reflex het volgende:

[..]

nog niet helder genoeg dus :z :z niet geslapen vannacht :)
TIP: Probeer het eerst uit, voordat je het als oplossing aan iemand geeft :P

*wenst Reflex een goede nachtrust toe* :)

  • bodiug
  • Registratie: Augustus 2001
  • Laatst online: 11:26
Een simpel voorbeeld hoef ik niet te testen...

Goed nalezen is belangrijker...

Verwijderd

Op maandag 21 januari 2002 12:31 schreef cr33p het volgende:

[..]

TIP: Probeer het eerst uit, voordat je het als oplossing aan iemand geeft :P

*wenst Reflex een goede nachtrust toe* :)
had et uitgeprobeerd :) maar toen verkeerd overgetikt, want in mijn test gebruikte ik TEST= :)

Verwijderd

Topicstarter
Op maandag 21 januari 2002 12:35 schreef Reflex het volgende:

[..]

had et uitgeprobeerd :) maar toen verkeerd overgetikt, want in mijn test gebruikte ik TEST= :)
Waarom overtikken :?

Verwijderd

Topicstarter
Op maandag 21 januari 2002 12:35 schreef guidob het volgende:
Goed nalezen is belangrijker...
Controle is beter :P :)

  • bodiug
  • Registratie: Augustus 2001
  • Laatst online: 11:26
Juist... }:O

Verwijderd

Op maandag 21 januari 2002 12:46 schreef cr33p het volgende:

[..]

Waarom overtikken :?
omdat ik niet zeker van mn zaak was, en t dus eerst testte :)

Verwijderd

Topicstarter
Op maandag 21 januari 2002 13:33 schreef Reflex het volgende:

omdat ik niet zeker van mn zaak was, en t dus eerst testte :)
Ja ok, maar dan kan je het nog altijd via het clipboard doorsturen :P

Verwijderd

Op maandag 21 januari 2002 13:56 schreef cr33p het volgende:

[..]

Ja ok, maar dan kan je het nog altijd via het clipboard doorsturen :P
/me is UPG :D
Pagina: 1