» »

/bin/sh problem

/bin/sh problem

slovencl ::

Rad bi zvedel, če imam še vedno povezavo z internetom:

var=$(ping -c1 www.yahoo.com | grep time) # če prav razumem vrne vrednost time samo takrat, ko dobi odgovor - se pravi ko je povezan na internet
echo "$var"

if [ "$var" = 'alive' ]
then
echo "alive"
else
echo "not alive"
fi

Pri meni je rezultat vedno "not alive", tudi če spremenljivki var določim neko vrednost. Kako naj preverim, če je spremenljivka "var" prazna?

Jean-Paul ::

Poskusi tako:
#!/bin/bash

URL="www.yahoo.com"

PING="ping -c 1 -q -w 1"

if [[ $# == 1 ]];
then
URL=$1;
fi;

for i in $URL;
do
if $PING $i > /dev/null;
then
echo "$i is ALIVE";
else
echo "$i is DEAD";
fi
done

Liker ::

#!/bin/sh
var=$(ping -c1 www.yahoo.com | grep time) # če prav razumem vrne vrednost time samo takrat, ko dobi odgovor - se pravi ko je povezan na internet
echo "$var"

if [ -z "$var" ]
then
echo "not alive"
else
echo "alive"
fi
Tole bo delovalo.
Drugace bi lahko naredil tudi trotl sistem ala if [ "$var" == "" ], to ravno tako preveri ce je $var praznen :) (a je lepse z -z operatorjem, ) seznam operatorjev.
Sicer obstaja kar nekaj lepsih nacinov, a car (ba)sh- a je ravno v tem da se da vse narediti na N nacinov :D

Zgodovina sprememb…

  • spremenil: Liker ()

SasoS ::

ping -c 3 $GATEWAY 2>&1 >> $LOG

if [ $? -gt 0 ]; then

    # Renew not successful, do a DHCP release
   ...
fi


Meni to dela.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Noob se loti programiranje v BASH

Oddelek: Programiranje
212587 (1987) c3p0
»

PING bash?

Oddelek: Programiranje
61150 (1065) ta_pravi
»

[Bash] - težave z IF stavki

Oddelek: Programiranje
102399 (2298) R33D3M33R
»

Linux skript

Oddelek: Programiranje
92420 (2234) MRB0rYS
»

DEBIAN problem

Oddelek: Omrežja in internet
162181 (1991) AirBladE

Več podobnih tem