When a job is submitted to at or batch, the job is constructed as a shell script. First, a prologue is constructed, consisting of:
: at jobfor an at job, and
: batch jobfor a batch job.
at then reads a ``prototype file'' and constructs the rest of the job file from it.
Text from the prototype file is copied to the job file, except for special ``variables'' that are replaced by other text:
If the job is submitted in queue queue, at uses the file /usr/lib/cron/.proto.queue as the prototype file if it exists; otherwise it will use the file /usr/lib/cron/.proto.
#ident "@(#)adm:.proto 1.2" cd $d ulimit $l umask $m $<This causes the values in the job of the current directory, the file size limit, and the file creation mode mask (see umask(C)) to be changed to the values that were current when at or batch was invoked. The commands to do this are inserted before the job commands.