Muszę uruchomić polecenie, gdy coś jest wprowadzane w BASH w określonym przedziale czasowym, a jeśli jest nie tym razem uruchom inne polecenie. Oto co mam do tej pory, ale nie wydaje się działać ..
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
Idealnie co chciałbym to mieć coś takiego: jeśli czas jest między 8 rano i 1pm zrobić pierwszy polecenie, jeśli czas jest między 13.00 a 23.00, wykonaj drugie polecenie, w przeciwnym wypadku echo "ktoś był za długo w pracy". Próbowałem kilku wariantów, ale bez powodzenia, wydaje mi się, że wykonuję pierwsze polecenie, cokolwiek robię.
może to być zbyt oczywiste, ale czy ten skrypt w czasie późniejszym niż 1130? Czy skomentowałeś polecenie 'date' i zakodowałeś na czas znacznik czasu do testowania? Próbowałem twojej struktury 'if-else' na moim komputerze i działało dobrze. –