at

ジョブを指定した時間に実行する.複数行のコマンドが指定でき EOF でコマンドの入力を終了する.at を実行したとき「コマンドを実行するシェルは $SHELL,ログインシェル,/bin/sh の順で検索される」旨が表示されるが,実際は man に書いてあるように /bin/sh で実行されるようだ.コマンドの実行結果はメールで送られてくる.環境変数やカレントディレクトリは at を実行したときの環境が引き継がれるようだ.

at は /etc/at.allow にユーザ名が書かれている,または /etc/at.allow が存在しないときに /etc/at.deny にユーザ名が書かれていないユーザのみ実行できる.すなわち,空の /etc/at.deny のみ存在するときは全てのユーザが at を実行でき,/etc/at.allow, /etc/at.deny がともに存在しないときは root のみ at を実行できる.身近な環境では,Linux では全てのユーザが at を実行でき,FreeBSD では root のみ at を実行できるように設定されていた.

例:

$ at now
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> date
at> 
job 3 at 2005-01-21 18:01
$