0
因此,這個腳本運行了幾個小時,但突然停止了它的工作。根據最高,它仍在運行,但它似乎不再做任何事情。幾小時後,Bash腳本似乎停止工作
WANSTAT=1
LTESTAT=1
tail -f /var/log/messages | grep --line-buffered mwan3 | while read -r INPUT ; do
if [[ "$INPUT" == *"notice mwan3track[]: Interface wan (eth1) is offline" ]]; then
WANSTAT=0
echo "WAN offline"
elif [[ "$INPUT" == *"notice mwan3track[]: Interface lte (3g-lte) is offline" ]]; then
LTESTAT=0
echo "LTE offline"
elif [[ "$INPUT" == *"ifup interface wan (eth1)" ]]; then
WANSTAT=1
elif [[ "$INPUT" == *"ifup interface lte (3g-lte)" ]]; then
LTESTAT=1
fi
if [ $WANSTAT -eq 0 ] && [ $LTESTAT -eq 0 ]; then
echo "All red\n"
elif [ $WANSTAT -eq 0 ]; then
echo "WAN red, LTE green\n"
elif [ $LTESTAT -eq 0 ]; then
echo "LTE red, WAN green\n"
else
echo "All green\n"
fi
done
瘋狂的猜測,但也許你的管道緩衝區之一填滿或在輸入或輸出上被阻塞? – ffledgling
/var/log/messages仍在增長? – Shiping
這可能有助於:[如何調試bash腳本?](http://unix.stackexchange.com/q/155551/74329) – Cyrus