Tôi cần chạy lệnh khi có gì đó được nhập vào BASH với một khung thời gian nhất định và nếu không phải lúc đó chạy lệnh khác. Đây là những gì tôi đã có cho đến nay, nhưng nó không có vẻ hoạt ..
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
Lý tưởng nhất là những gì tôi muốn là phải có cái gì đó như: nếu thời gian là 08:00-01:00 làm đầu tiên lệnh, nếu thời gian là từ 1 giờ chiều đến 11 giờ tối, hãy thực hiện lệnh thứ hai, nếu không thì "echo của ai đó đang làm việc quá lâu". Tôi đã thử một vài biến thể nhưng không may mắn, nó dường như chạy lệnh đầu tiên bất cứ điều gì tôi làm ..
Đây có thể là quá rõ ràng, nhưng bạn đã chạy kịch bản này tại một thời điểm muộn hơn năm 1130? Hoặc nhận xét ra lệnh 'date' và mã hóa dấu thời gian để thử nghiệm? Tôi đã thử cấu trúc 'if-else' trên máy tính của tôi và nó hoạt động tốt. –