"date"を使用して1分ごとにコマンドを実行します。

"date"を使用して1分ごとにコマンドを実行します。

bash毎分コマンドを実行する方法(スクリプトなど)を探していますdate。同様の解決策を探していますが、すべて提案または提案しcronますが、watch私が望むのは出力に基づいてdate到達できるようにすることです。秒針 12:50:30 12:51:30 12:52:30 12:53:30 ...のように30回コマンドを実行します。どんな助けでもいただければ幸いです。

答え1

#!/bin/bash
until [[ $(date +%S) -eq 30 ]]
do
  sleep 0.75
done

while true
do
  #command & 
  #here your cmds should be forked to background to avoid delaying
  date +%S
  sleep 30
done

編集する

date +%S stdoutを見て= 30であることを確認して何かをしたいとき!

#!/bin/bash
foo(){
  echo yay
  #add commands here
}
while true
do
  date +%S | grep '30' && foo 
  sleep 1
done

または

#!/bin/bash
foo(){
  echo yay
  #add commands here
}
while true
do
  date +%S
  [[ $(date +%S) -eq 30 ]] && foo 
  sleep 1
done

関連情報