The at now command does not work. echo "date" | at now will never schedule execution. It seems that the job is scheduled a few seconds *before* the current time. As a consequence the 'batch' command does not work as it is a script that executes at now. Interestingly I have seen this same bug in IRIX,CLIX,AIX, etc. The solution is to add 1 or 2 minutes depending on the version of UNIX. This is because some at commands only schedule to the nearest minute boundary viz echo "date" | at now + 2 minutes
Still happens in 6.2b3 - "now" apparently maps to `date +%H:%M`, so seconds are lost -> scheduled before current time.
Hmm.. it works OK for me here; at now casues things to be run immediately.