New answers tagged at
I think you mean echo sendit mail1.txt|at 02:37 May 03.
The | sends the stdout of the left process to the right command. Your sendit function actually sends the mail, but doesn't produce much output on stdout (I actually don't remember what the output of mail is), so the input to at isn't a command to send the mail. Consider that as a user, you would typically have used at like this: at 02:37 May 03 # ...
It appears at now is setting the time as far in the future as possible when parsing of the time string now fails. The command batch is intended to run now, or at least as close to now as load permits. You may be able to reschedule by using atq to cat the job to an at request with the desired time. The man page for at, batch and related commands should ...
With regards to now the man at states that: You can also give times like now + count time-units, where the time-units can be minutes, hours, days, or weeks Nowhere does it say it is allowed to use at now without such an additional count of time-units, so I am not surprised you get undefined/unexpected behaviour.
Top 50 recent answers are included