Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable mehrfach nutzen



t23
13-01-2005, 07:43
Servus,
Ich hab da ein Problem mit der mehrfachnutzung einer Variable.
Hier das Beispiel:

function check () {
if [[ $vOK -eq 1 && $status = $stat1 ]]; then
echo $message1
echo $message1 >> $LogFile

elif [[ $vOK -eq 0 && $status = $stat1 ]]; then
status=$stat2
timer=$intervall
echo $message2

elif [[ $vOK -eq 0 && $status = $stat2 && $timer -lt 600 ]]; then
timer=$(($timer + $intervall))
# -lt entspricht < (less than)

elif [[ $vOK -eq 0 && $status = $stat2 && $timer -gt 599 ]]; then
# -gt entspricht > (grater than)
status=$stat3

elif [[ $vOK -eq 1 && $status = $stat2 && $timer -lt 600 ]]; then
timer=0
status=$stat1


elif [[ $vOk -eq 1 && $status = $stat2 && $timer -gt 599 ]]; then
status=$stat1
timer=0

elif [[ $vOK -eq 1 && $status = $stat3 && $timer -gt 599 ]]; then
status=$stat1
timer=0

elif [[ $vOK -eq 1 && $status = $stat3 && $timer -lt 600 ]]; then
status=$stat1
timer=0

elif [[ $vOK -eq 0 && $status = $stat3 && $timer -gt 599 ]]; then
status=$stat3
fi
}
#=eins============================================ ====================
function eins () {
vOK=`curl -s http://URL1 |grep wort | wc -l`
zeit=$(date +%Y"."%m"."%d" "%H"."%M"."%S"Uhr")
message1="$zeit - OK - erreichbar"
message2="$zeit - Fehler - aufgetreten"
check
}
#================================================= =====================

#=zwei============================================ ====================
function zwei () {
vOK=`curl -s http://URL2 |grep wort | wc -l`
zeit=$(date +%Y"."%m"."%d" "%H"."%M"."%S"Uhr")
message1="$zeit - OK - erreichbar"
message2="$zeit - Fehler - aufgetreten"
check
}
echo "Geben Sie das Testintervall an"
read intervall
while true
do
#clear
eins
zwei
sleep $intervall
done

"Function eins" und "function zwei" sollen bei jedem Schleifendurchlauf ihren timer und status in function "check" setzen. Wie kann ich beim nächsten Schleifendurchlauf die werte des letzten durchlaufs in den Variablen timer und status setzen, so dass jede funktion kontinuierlich die Variablen benutzen kann, ohne das eine andere Funktion diese variablen mit ihren werten überschreibt.

MFG

fs111
13-01-2005, 09:23
Bitte Code-Listings in [CODE]-Tags vom Forum setze, dann ist es leichter lesbar.

fs111

quinte17
13-01-2005, 09:26
eine möglichkeit wäre:
du übergibst check eine variable check(x) oder so, und kannst da dann auf andere variablen verweisen... (array)

nur so ein gedanke
greetz

t23
13-01-2005, 09:36
ok ich probiers mal

Thx

t23
13-01-2005, 09:51
ich nochmal.
Ich hab das mit dem array nicht so verwirklichen können wie es eigentlich sein sollte. hmm -> ratlos

Kannst du mir das an einem Bsp. kurz zeigen?

MFG

quinte17
13-01-2005, 09:57
bei der umsetzung kann ich dir leider nicht helfen (du schreibst ja in bash oder?)
greetz