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
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