• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルの中で現在の時間の2分後にコマンドを設定したい。)

シェルで現在の時間の2分後にコマンドを設定する方法

このQ&Aのポイント
  • シェルの中で現在の時間の2分後にコマンドを設定する方法をご紹介します。時間指定でコマンドを実行するためには「at」コマンドを使用しますが、2分後の時間を取得する方法がわからない場合があります。しかし、「date」コマンドを使って現在の時間を取得し、その時間に2分を加えることで簡単に2分後の時間を求めることができます。
  • 具体的な手順は以下の通りです。まず、「date +%T」コマンドを使用して現在の時間を取得します。このコマンドを実行すると、時:分:秒の形式で現在の時間が表示されます。次に、取得した時間のうち分の部分を取り出し、整数として扱います。その後、「expr」コマンドを使用して取り出した分に2を加えます。最後に、得られた2分後の分を「date」コマンドで時:分の形式に変換し、それを「at」コマンドでコマンド実行の時間として設定します。
  • 上記の手順により、シェルの中で現在の時間の2分後にコマンドを設定することができます。また、他の方法として、「date -v+2M」コマンドを使用する方法もありますが、オプションが正しくないとエラーが発生する可能性があるため注意が必要です。いずれの方法を選んでも、必要なハッシュタグを読み込んで実行することで、問題なくコマンドを設定することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

date --date '2 minutes' ではどうです?

tetuya120
質問者

お礼

回答ありがとう御座います。 --date というオプションは存在しないようです。。。

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

dateにも、POSIX準拠のものや、 Linux等で採用されているGNUのものとかがあって、機能が一部違います。 GNUは任意の日時を指定できるのですが、POSIXのものは現在時刻しか表示できません。 そのUsageから、POSIX版のようです。 単に2分後だったら、わざわざatを使わずに、sleepで待って実行する方がよいのではないでしょうか。

tetuya120
質問者

お礼

回答ありがとう御座います。 一つのコマンドではなく、複数のコマンドを「同時刻」に実行したかったため、 atコマンドで同じ時間に設定を行いたかったのです。 色々調べた所下記を実行する事で出来ました。 at -f /tmp/test.sh now + 1minute 皆様ありがとうございました。

  • localica
  • ベストアンサー率52% (202/385)
回答No.2

2分後ていどならsleepでは? sleep 120 echo "ls"

tetuya120
質問者

お礼

回答ありがとう御座います。 確かに、2分後に実行すればという話だとsleepでよいかと思います。 しかし、今回の場合、あるテストのためX分後に大量のコマンドを一斉に実行したいのです。

関連するQ&A

専門家に質問してみよう