Я пытаюсь написать небольшой script, который будет считать записи в файле журнала, и я увеличиваю переменную (USCOUNTER
), которую я пытаюсь использовать после завершения цикла.
Но в этот момент USCOUNTER
выглядит как 0 вместо фактического значения. Любая идея, что я делаю неправильно? Спасибо!
FILE=$1
tail -n10 mylog > $FILE
USCOUNTER=0
cat $FILE | while read line; do
country=$(echo "$line" | cut -d' ' -f1)
if [ "US" = "$country" ]; then
USCOUNTER=`expr $USCOUNTER + 1`
echo "US counter $USCOUNTER"
fi
done
echo "final $USCOUNTER"
Он выводит:
US counter 1
US counter 2
US counter 3
..
final 0