Тестирование вложенных переменных в цикле while

Я пытался вставить вложенную переменную как условие цикла while, но мне не удалось правильно ее развернуть.

print_message() {
    timer=0
    timer_condition="$2"

    while [[ $timer_condition ]]; do
        sleep 1
        timer=$((timer+1))
    done
    echo "$1"
}

print_message 'Hello world, 5 seconds passed...' '$timer != "5"'
print_message 'Hello again, another 10 seconds passed...' '$timer != "10"'

В качестве примера я создал простую функцию print_message, которая принимает 2 аргумента: $ 1 - это сообщение для печати, а $ 2 - это условие, которое я хочу, чтобы цикл while проверял, чтобы функция могла получать различные условия для отображения сообщений. . Однако цикл while проверяет истинность самого $ timer_condition вместо проверки его содержимого. Есть ли способ заставить его работать так?

while [[ $timer != "5" ]]; do

Спасибо

0
17.11.2017, 05:46
0 ответов

Теги

Похожие вопросы