形式
- at [–m] [–f file]
[–q queue] –t time
- at [–m] [–f file]
[–q queue] timespec
- at –r [–q queue] at_job
…
- at –l [–q queue]
[at_job …]
説明
at により、後に実行される一連のコマンドをセットアップ
することができます。これは、コマンドを標準入力 (stdin) また
は –f オプション
で指定されたファイルから読み取ります。コマンドが実行されるときは、それらは at コマンドが実行されたときに
セットアップされた同じ環境変数、作業ディレクトリー、ファイル作成マスク、などを持っています。しかし at は通常オープン・ファイル・ディスクリプター、トラップ、あるいは作業環境
から継承した優先度を保存していません。
通常、標準出力 (stdout) はこれらのコマンドからファイルにリダイレクトされます。
これは、システムがコマンドを実行したあとでファイルを読むことができるようにするためです。
at は、このリダイレクトがなければ、
標準出力 (stdout) と標準エラー出力 (stderr) をユーザーに送ります。
at は、コマンドがサブミットされたときとシステムがコマンドを
実行するときに at-job ID を表示します。
at、batch、および crontab は、ジョブ
を cron にサブミットします。ジョブのデータに 2 バイト文字が含まれて
いる可能性があります。ジョブが実行されるとき、ジョブにあるデータは cron が使用する
ロケールで解釈されます。cron は POSIX ロケールで開始することが強く推奨されていますので、ジョブ内の 2 バイト文字は正しく解釈されない可能性があります。ジョブで setlocale() を呼び出すと、この問題を回避することが
できます。
オプション
- –f file
- コマンドを標準入力 (stdin) でなく file から読み
取ります。
- –l
- at_job が指定されていない場合は、スケジュールされたすべてのジョブと、システムがそれらのジョブを実行する
ときとを、標準出力 (stdout) に報告します。
at_job が指定された場合は、これらのジョブの情報だけを報告します。
- –m
- ジョブの実行が完了したら、ユーザーに通知します。stdout と stderr がリダイレクトされなかったとき
は、at はユーザーにこれらを知らせます。stdout また
は stderr が非ヌルであれば、at は –m の指定がなくても、この出力をユーザーに知らせます。
- –q queue
- at ジョブが記録されるまたは除去されるキューを指定します。queue は、スペース、タブ、ヌル文字、番号記号 (#) 以外であれば、どの単一バイトの文字でもかまいません。
デフォルトにより、at は a と呼ばれるキューにすべてのジョブを格納します。
そして、batch は b と呼ばれるキューにすべてのジョブを格納します。
このオプションと共に –l を指定すると、queue にある at のジョブについての情報だけが報告されます。
- –r at_job
- すでにスケジュールされた at ジョブを除去します。at_job 引数は
、at でジョブをセットアップしたときに
ジョブに割り当てた ID でなければなりません。
- –t time
- システムがジョブを実行する時刻を指定します。touch の時刻の引数を
指定するのと同じフォーマットで time を指定します。
–t オプションを使わないときは、
timespec 引数を使って
時刻を指定することができます。
timespec 引数は、3 つの部分で構成されます。時間、日付、そして増分です (この順序で)。
時間は常に指定しなければなりませんが、日付と増分は省略することができます (両方とも、または一方)。時間は、次の形式で表すことができます。
- 形式
- 意味
- hhmm
- hh 時間 mm 分、24 時間表示
- hh:mm
- hh 時間 mm 分、24 時間表示
- h:mm
- h 時間 mm 分、24 時間表示
- h:m
- h 時間 m 分、24 時間表示
- hh:mm zone
- zone は時間帯
- hh:mmam
- 午前、12 時間表示
- hh:mmam zone
- 午前、12 時間表示 (特定の時間帯)
- hh:mmpm
- 午後、12 時間表示
- hh:mmpm zone
- 午後、12 時間表示 (特定の時間帯)
- noon
- 正午
- midnight
- 真夜中
- next
- 日付と増分の指定に合った明日のこの時間
- now
- 今日の現在
分の指定はすべてオプショナルです。例えば、
at ジョブを 1:00 p.m. と指定するのに、次のように入れることができます。
at 1pm
現在、z/OS シェルは GMT、CUT、UTC、および ZULU のみの時間帯をサポートしています。すべてこれらは世界標準時 (グリニッジ標準時とも呼ばれる) を表します。
時間帯の指定がないときには、at は TZ 環境変数に従って時刻を解釈します。
TZ 環境変数のフォーマットに、TZ 環境変数を使用してローカル・タイム・ゾーンを設定する方法が説明されています。
日付の形式として使用できるものを次に示します。
- 形式
- 意味
- month day
- month は、フルネームか、3 文字の省略形です
(例えば January または Jan)。
- month day, year
- day と year は、それぞれ数字で表してください。
- weekday
- weekday は、フルネームか、3 文字の省略形です
(例えば Monday または Mon)。
- today
- 現在の日付
- tomorrow
- 翌日
増分は、この
timespec の前の部分で指定された日付と時間に
加算されます。そのフォーマットは
+ n units であり、ここで
n は数値、
units は以下のいずれかです。
minute minutes hour hours
day days week weeks
month months year years
ここに時間指定の例を挙げます。
0655
1855
18:55
6:55pm
6:55 pm Jan 10
now + 3 hours
noon tomorrow
midnight Friday
環境変数
at は、以下の環境変数を使用します。
- SHELL
- at ジョブを起動するために使われるシェルの名前を持っています。
- TZ
- コマンド行に指定されるたびに、デフォルトの時間帯を指定します。time または timespec に時間帯が含まれ
ていれば、TZ の値は、上書きされます。TZ 環境変数のフォーマットに、TZ 環境変数を使用してローカル・タイム・ゾーンを設定する方法が説明されています。
使用上の注意
"!!!ATEOF!!!" のストリングだけで
構成される行がある at ジョブは、予期できない結果で失敗に終わります。
ローカライズ
at は、以下のローカライズ変数を使用します。
- LANG
- LC_ALL
- LC_CTYPE
- LC_MESSAGES
- LC_TIME
- NLSPATH
midnight、
noon、
today、および
tomorrow のキーワードは、
POSIX ロケールでのみ有効です。
詳しくは、ローカライズを参照してください。
終了値
- 0
- 正常終了
- >0
- コマンドがなにかの理由で失敗したとき戻される。
エラーが起きると at はそのジョブをスケジュール、除去、またはリストしません。
移植性
POSIX.2 ユーザー移植性拡張, UNIX システム.
関連情報
batch、bg、cron、crontab、touch、tcsh