» »

/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
212202 (1602) c3p0
»

PING bash?

Oddelek: Programiranje
6853 (768) ta_pravi
»

[Bash] - težave z IF stavki

Oddelek: Programiranje
102106 (2005) R33D3M33R
»

Linux skript

Oddelek: Programiranje
92047 (1861) MRB0rYS
»

DEBIAN problem

Oddelek: Omrežja in internet
161717 (1527) AirBladE

Več podobnih tem