Не работает условие по времени в bash скрипте?
Команда date умеет выдавать дату в нужном формате, не обязательно извращаться с cat и awk: date +%H:%M:%S. Сравнивать даты bash не умеет, можно конвертировать их в Unix epoch и сравнивать уже как числа.
Пользуйтесь timestamp, баш сравнивать даты не умеет.
Пользуйтесь declare -i, иначе все переменные по умолчанию в баше это строка, а не число.
опция --date позволяет указать какую дату вы хотите использовать
date --date="2011/12/12 12:12:12"
Monday, 12 december 2011 12:12:12 +0200
опция +%s позволяет при помощи date вывести нужную дату в виде "секунды с 1970 года", получите целые числа, которые может сравнить bash. Простой пример:#!/bin/bash

declare -i MYDATE1=`date --date="2011/12/12 12:12:12" +%s`
declare -i MYDATE2=`date --date="2017/07/06 11:11:11" +%s`
declare -i CURRDATE=`date +%s`

echo $MYDATE1 $MYDATE2 $CURRDATE

if [ $MYDATE1 -lt $CURRDATE -a $MYDATE2 -gt $CURRDATE ]; then
  echo "Сейчас больше чем $MYDATE1 и меньше чем $MYDATE2"
else
  echo "не-а"
fi