Мне нужно запустить команду, когда что-то вводится в BASH с определенным временным фреймом, и если в это время не запускается другая команда. Вот то, что у меня до сих пор, но оно, похоже, не работает.
FLATTIME=$(date "+%H%M")
FLATTIME=${FLATTIME##0}
if ! [[ $FLATTIME -gt 1130 ]] ; then
mysql --host=192.168.0.100 --user=myself --password=mypass thedb << EOF
INSERT INTO $STAFFID values ('','$STAFFID','$THETIME','','$THEDATE','$DAYOFWEEK');
EOF
else
mysql --host=192.168.1.92 --user=myself --password=mypass thedb << EOF
UPDATE $STAFFID SET Out_Time='$THETIME' WHERE date='$THEDATE';
EOF
fi
В идеале, я хотел бы иметь что-то вроде: если время между 8:00 и 13:00 делает первую команду, если время между 13:00 и 11:00 делает вторую команду, иначе эхо "кто-то работал слишком долго". Я пробовал несколько вариантов, но не повезло, просто кажется, что я запускаю первую команду, что бы я ни делал.