1.08.2基礎
本日18時30分に/usr/local/bin/reportを一度だけ実行するジョブをatへ登録する。
コマンドは標準入力から渡す。
適切なコマンドはどれか。
× 不正解
atは標準入力から実行内容を受け取り、指定時刻に一度だけ実行する。
詳細解説
誤り
at 18:30 /usr/local/bin/reportatは時刻の後の引数をそのまま実行コマンドとして扱う構文ではない。
atは時刻指定後の文字列をそのまま実行コマンドとして受け取る通常構文ではない。
正しい
echo '/usr/local/bin/report' | at 18:30実行内容を標準入力で渡し、18時30分へ予約する。
echoの標準出力をatへ渡し、18:30を予約時刻として一度だけ登録する。
誤り
atq 18:30 /usr/local/bin/reportatqは登録済みジョブの一覧表示用である。
atqは既存予約の一覧を読むだけで、新しいジョブや時刻を登録しない。
誤り
atrm 18:30 /usr/local/bin/reportatrmはジョブ番号を指定して予約を削除する。
atrmはジョブ番号による削除用で、時刻とコマンドを新規予約しない。
実際に確かめる
一時的な検証環境で実行できる例です。
at --help 2>&1 | sed -n '1,8p'期待される結果
atの時刻指定を含む使用方法理解のポイント
- commandはstdinから渡す
- atは一度だけ
- 時刻を引数で指定
確認時の注意
- 確認環境: at help / ジョブ登録なし
- 検証ではジョブを登録せずhelpだけを表示する。
基礎のおさらい
一度きりの予約
atは指定した時刻に1回実行し、cronのような周期フィールドを持たない。
実行環境
予約時の環境や作業ディレクトリが保存される一方、端末入力を前提にしないコマンド設計が必要である。
問題IDKL-102-1046
確認環境at help / ジョブ登録なし
最終技術確認2026-08-13
誤り・権利侵害を報告