Tente executar este snippet de código:
if [[ 5 < 20 ]]
then
echo "5 < 20, as expected"
else
echo "5 is not less than 20, but why?"
fi
E a saída seria 5 is not less than 20, but why?
. A resposta é que você está usando o operador de expressão condicional <
, que está documentado como:
string1 < string2 True if string1 sorts before string2 lexicographically in the current locale.
E o seu problema é que "20" é lexicograficamente (ou, basicamente, alfabeticamente) antes de "5".
Você está procurando:
if (( $Run_Time < $Wait_Time ))
em vez disso - isso usa avaliação aritmética e uma aritmética menor que, que é o que você precisa.