次のコマンドを使用してコマンドをテストしようとしat
ています。
echo 'touch hi' | at now + 1 minute
ジョブ ID と時刻 : が返されますjob 7 at Wed Sep 11 01:35:00 2013
。
しかしls
、時間が経過すると、新しいファイルが表示されませんhi
。
何を与える?
まず第一に、atd
スケジュールされたジョブの実行を担当するデーモンを実行していますか?
を介してジョブがまだキューに表示されていますatq
か?
エラー メールを受信しましたか(で、ジョブの出力を含むローカル メールを送信することになっており、エラー情報が含まれている可能性があります)。
さらに、ジョブはユーザーのデフォルト環境で実行されることに注意してください。これは通常、現在のディレクトリではなく、ホーム ディレクトリを意味します。
現在の作業ディレクトリを含め、環境全体が適切に保持されていると仮定するのは、信頼できない場合があることがわかりました。安全にプレイしたい場合は、絶対パス名を使用してみて、スクリプトがデフォルトの POSIX シェルで動作することを確認してください。
今の私の実験では、hi
ファイルは現在のディレクトリに作成されたので、実際には期待どおりに機能しました(環境と を含む$PWD
)。