Bash 每秒循环到 运行 一个命令 N 次
Bash looping to run a command N times every second
我正在尝试编写代码,以便命令在 bash shell 脚本中每秒重复 N(比如 10)次。我在发送第一个 10 个命令后让循环等待剩下的秒数时遇到问题。我正在使用 while 循环来启动循环:
while [ $SECONDS -lt $((SECONDS+$time)) ]; do
我使用 for 循环的命令数:
for i in $(seq 1 10); do echo 'Hello!'; done
您可以在后台启动一个sleep
并等待它:
sleep 1 &
pid=$!
for i in $(seq 1 10); do echo 'Hello!'; done
wait "$pid"
这确保 wait
将只等待第二个的剩余部分,而不管 for 循环需要多长时间。 (如果超过 1 秒,wait
立即完成)。
我正在尝试编写代码,以便命令在 bash shell 脚本中每秒重复 N(比如 10)次。我在发送第一个 10 个命令后让循环等待剩下的秒数时遇到问题。我正在使用 while 循环来启动循环:
while [ $SECONDS -lt $((SECONDS+$time)) ]; do
我使用 for 循环的命令数:
for i in $(seq 1 10); do echo 'Hello!'; done
您可以在后台启动一个sleep
并等待它:
sleep 1 &
pid=$!
for i in $(seq 1 10); do echo 'Hello!'; done
wait "$pid"
这确保 wait
将只等待第二个的剩余部分,而不管 for 循环需要多长时间。 (如果超过 1 秒,wait
立即完成)。