Сценарии оболочки оператора Counter и If - PullRequest
0 голосов
/ 06 августа 2020

Я пишу сценарий, который предназначен для чтения файла dbg *, чтения строк и grep для сообщения и выполнения каких-либо действий, если он найден. У меня есть раздел, предназначенный для чтения файла и grep для сообщения. Проблема в том, что мой оператор if не оценивается. любые идеи были бы полезны. это sh script

find_X() {

    msg1=""
    msg2=""

    msg3=""
    msg4=""

    expected_event_counter=1
    unexpected_event_counter=2

    i=$((i+1))
    tail -f $input_file | while read LINE; do
        echo $LINE | grep -q "$msg1" && echo "$((i+expected_event_counter))"
        echo $LINE | grep -q "$msg2" && echo "$((i+expected_event_counter))"
        echo $LINE | grep -q "$msg3" && echo "$((i+unexpected_event_counter))"
        echo $LINE | grep -q "$msg4" && echo "$((i+unexpected_event_counter))"

        echo $expected_event_counter;
        echo $unexpected_event_counter;
    done

    if [ "$expected_event_counter" -ge 2 ] && [ "$unexpected_event_counter" -eq 0 ]
    then
        echo "Success!";
    else
        echo $expected_event_counter;
        echo $unexpected_event_counter;
    fi
}
...