There's a builtin unix command repeat
whose first argument is the number of times to repeat a command, where the command (with any arguments) is specified by the remaining arguments to repeat
. For example,
% repeat 100 echo "I will not automate this punishment."
will echo the given string 100 times and then stop.
I'd like a similar command, let's call it forever
, that works similarly except the first argument is the number of seconds to pause between repeats, and it repeats forever. For example,
% forever 5 echo "This will get echoed every 5 seconds forever and ever."
I thought I'd ask if such a thing exists before I write it. I know it's like a 2-line perl or python script but maybe there's a more standard way to do this. If not, feel free to post a solution in your favorite scripting language, rosetta stone style.
PS: Maybe a better way to do this would be to generalize repeat
to take both the number of times to repeat (with -1 meaning infinity) and the number of seconds to sleep between repeats.
The above examples would then become:
% repeat 100 0 echo "I will not automate this punishment."
% repeat -1 5 echo "This will get echoed every 5 seconds forever."