PROTO(4)                                                              PROTO(4)


NAME
     proto - prototype job file for at

SYNOPSIS
     /usr/lib/cron/.proto

     /usr/lib/cron/.proto.queue

DESCRIPTION
     When a job is submitted to at(1) or batch(1), the job is constructed as a
     shell script.  First, a prologue is constructed, consisting of:

     +  A header whether the job is an at job or a batch job (actually, at
        jobs submitted to all queues other than queue a, not just to the batch
        queue b, are listed as batch jobs); the header will be

          : at job

     for an at job, and

          : batch job

     for a batch job.

     +    A set of Bourne shell commands to make the environment (see
          environ(5)) for the at job the same as the current environment;

     +    A command to run the user's shell (as specified by the SHELL
          environment variable) with the rest of the job file as input.

     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:

          $d   is replaced by the current working directory
          $l   is replaced by the current file size limit (see ulimit(2))
          $m   is replaced by the current umask (see umask(2))
          $t   is replaced by the time at which the job should be run,
               expressed as seconds since January 1, 1970, 00:00 Greenwich
               Mean Time, preceded by a colon
          $<   is replaced by text read by at from the standard input (that
               is, the commands provided to at to be run in the job)

     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.


EXAMPLES
     The standard .proto file supplied is:

          #ident    "@(#)adm:.proto     1.2"
          cd $d
          ulimit $l
          umask $m
          $<

     which causes commands to change the current directory in the job to the
     current directory at the time at was run, to change the file size limit
     in the job to the file size limit at the time at was run, and to change
     the umask in the job to the umask at the time at was run, to be inserted
     before the commands in the job.

FILES
     /usr/lib/cron/.proto
     /usr/lib/cron/.proto.queue

SEE ALSO
     at(1)


                                                                        Page 2