「for name in」を使用して値のリストをループしようとしています。行の最初の値を使用しますが、終わりのないループにとどまります。
#!/bin/ksh
set -x
# created 7 JAn 2013 by L Cooper
# purpose is to verify completion of QAD online backup. If incomplete then email personnel
#EMAILTO=mfc_support@manitowoc.com
EMAILTO=lee.cooper@manitowoc.com
TEST=1740 # Success code
SVR=IBM2
LOGDIR=/tmp #Log location
LOGS="onlineeuro onlinedata online" # logs to check
# Check QAD online backup log for code 3740, which indicates successful backup
#for logchk in onlineeuro onlinedata onlinena
for logchk in $LOGS
do
while [ "$(/usr/bin/tail -n -2 $LOGDIR/$logchk.log | head -n +1 | tail -c 6 | head -c 4)" != "$TEST" ]
do
echo $LOGDIR/$logchk
echo "The QAD online backup $logchk on $SVR may have errors...please check" | mailx -s "***TEST*** There mat be QAD onl
ine backup errors!!" $EMAILTO
done
done
実行の出力:
+ EMAILTO=lee.cooper@manitowoc.com
+ TEST=1740
+ SVR=IBM2
+ LOGDIR=/tmp
+ LOGS=onlineeuro onlinedata online
+ /usr/bin/tail -n -2 /tmp/onlineeuro.log
+ head -n +1
+ head -c 4
+ tail -c 6
+ [ 3740 != 1740 ]
+ echo /tmp/onlineeuro
/tmp/onlineeuro
+ mailx -s ***TEST*** There mat be QAD online backup errors!! lee.cooper@manitowoc.com
+ echo The QAD online backup onlineeuro on IBM2 may have errors...please check
+ /usr/bin/tail -n -2 /tmp/onlineeuro.log
+ head -n +1
+ head -c 4
+ tail -c 6
+ [ 3740 != 1740 ]
+ echo /tmp/onlineeuro
/tmp/onlineeuro
+ mailx -s ***TEST*** There mat be QAD online backup errors!! lee.cooper@manitowoc.com
+ echo The QAD online backup onlineeuro on IBM2 may have errors...please check
+ /usr/bin/tail -n -2 /tmp/onlineeuro.log
+ head -n +1
+ head -c 4
+ tail -c 6
+ [ 3740 != 1740 ]
+ echo /tmp/onlineeuro
/tmp/onlineeuro
+ mailx -s ***TEST*** There mat be QAD online backup errors!! lee.cooper@manitowoc.com
+ echo The QAD online backup onlineeuro on IBM2 may have errors...please check
+ /usr/bin/tail -n -2 /tmp/onlineeuro.log
+ head -c 4
+ head -n +1
+ tail -c 6
+ [ 3740 != 1740 ]
+ echo /tmp/onlineeuro
/tmp/onlineeuro
+ mailx -s ***TEST*** There mat be QAD online backup errors!! lee.cooper@manitowoc.com
+ echo The QAD online backup onlineeuro on IBM2 may have errors...please check
+ /usr/bin/tail -n -2 /tmp/onlineeuro.log
****** は無限に繰り返されます ******
あなたのコードをコードブロックに入れて、フォーマットが損なわれないようにしてください。あなたにとって正しいことを確認してください!ありがとう、そしてスーパーユーザーへようこそ!
—
オタクウォーラー
問題は、しばらくループすることです(つまり、常に真です)(3740!= 1740)
—
オリビエデュラック