Я пытался вставить вложенную переменную как условие цикла 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
Спасибо