bash
1 分ごとにコマンドを実行する方法 (スクリプトなど)を探していますdate
- 同様の解決策を探していましたが、すべて または を提案していましたcron
がwatch
、私がやりたいのは の出力に従ってコマンドを実行し、date
秒針が 30 に達したときにコマンドを実行することです。たとえば、12:50:30、12:51:30、12:52:30、12:53: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
編集
日付 +%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