并行 bash 命令之间有一定的延迟

parallel bash commands with a certain delay in between

我已经熟悉 sleep 和 usleep 命令。但是我不确定如何将它们用于并行命令,这些命令应该相对于上一个命令的开始时间有一定的延迟。我的意思是这样的(命令 1 到 n 应该 运行 与它们的开始时间之间的延迟并行):

Command 1's start time: 0
Command 2's start time: 0+d
Command 3's start time: 0+2d
.
.
.
Command n's start time: 0+(n-1)d

如果您只是 运行 它们在 shell 的后台,那么您可以简单地让每个循环在启动其命令后休眠。

for cmd in cmd1 cmd2 ... cmdN; do
    eval ${cmd} &
    sleep ${d}
done