如何使 bash 脚本以延迟运行(即每次迭代等待 1 秒)?

如何使 bash 脚本以延迟运行(即每次迭代等待 1 秒)?

我有这个 bash 脚本;

for (( i = 1 ; i <= 160 ; i++ )); do
  qsub myccomputations"${i}".pbs
done

基本上,我更希望每次迭代之间有 1 秒的延迟。原因是每次迭代时,它都会将程序文件发送mycomputation"${i}$.pbs到核心节点进行求解。动机是,在这种情况下求解涉及使用伪随机数,而我使用的 RNG(R)使用 CPU 时间作为种子。

那么如何让 bash 执行

for (( i = 1 ; i <= 160 ; i++ )); do
  wait 1 sec    
  qsub myccomputations"${i}".pbs
done

答案1

sleep 1只需在 Bash 中使用即可。

for (( i = 1 ; i <= 160 ; i++ )); do
  sleep 1
  qsub myccomputations"${i}".pbs
done

答案2

如果你想实现你的主题所建议的内容,你应该使用“at”。

      man at

了解更多信息。

相关内容