Problém bude s proměnou v subshellu.
Mě funguje obojí (po letmém zkoušení).
grep rozhodně doporučuji upravit na:
grep "H${hour}"
Jdu dál zkoušet pár věcí.
EDIT: Aha, koukal jsem jen na tu konstrukci. Chyba je jinde. Používáš $hour dříve než jí definuješ, jelikož funkci rn vykonáváš až později. S funkcemi jsem v bashy nikdy moc nepracoval, čili detaily nevím.