Ich suche nach einer Möglichkeit ( bash
per Skript oder anders), mit der man einen Befehl jede Minute ausführen kann date
. Ich habe mich nach ähnlichen Lösungen umgesehen, aber alle schlagen entweder „ cron
oder“ vor watch
. Ich möchte den Befehl jedoch entsprechend der Ausgabe ausführen, date
sodass ich den Befehl ausführen kann, wenn der Sekundenzeiger 30 erreicht, z. B. 12:50:30 12:51:30 12:52:30 12:53:30 … Ich bin für jede Hilfe sehr dankbar.
Antwort1
#!/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
bearbeiten
als ob Sie das Datum + %S stdout sehen und prüfen wollten, ob = 30 und etwas ausführen!
#!/bin/bash
foo(){
echo yay
#add commands here
}
while true
do
date +%S | grep '30' && foo
sleep 1
done
oder
#!/bin/bash
foo(){
echo yay
#add commands here
}
while true
do
date +%S
[[ $(date +%S) -eq 30 ]] && foo
sleep 1
done