running at コマンドはスクリプトをただちに実行します。

running at コマンドはスクリプトをただちに実行します。

私は特定の時間にサーバーを停止して起動するために "at"コマンドを試しましたが、何らかの理由でスクリプトがすぐに実行されます。これにはさまざまな方法を試しましたが、常に実行されます。私は何が間違っていましたか?私はこれを試みます:

./stop | at 03:52 092421

このように:

./start | at 04:00 tommorow

ベストアンサー1

私は何が間違っていましたか?

./stop(または)に電話しています./startat誰がすぐにスクリプトを実行するのではありません。あなたです。

./stop | at …同時にあなたによって./stop実行されますat。これが|シェルで Pipe() が動作する方法です。これ出力から…./stopあなたatが望むものではありませんか?

at後で実行するコマンドを標準入力の文字列として期待します。./stop渡したい出力の代わりにひももちろん./stop。文字列をパイプする基本的な方法は次のとおりですecho

echo './stop' | at …

これにより、後者のツールechoat以前のツールの出力を使用します。出力は実際に./stopあなたが望むものです。

おすすめ記事