我的程序需要两个变量(n 和 k,从 1 到 100)。
PROGRAM n k INPUT > OUTPUT
我想找出哪种变量组合可以提供最佳输出。这是我这样做的方式:
for n in {1..100}; do
for k in {1..100}; do
PROGRAM n k INPUT |
awk -v n="$n" -v k="$k" '{print n,k,$0}' >> OUTPUT # Latter I analyse output and select best combination
done
done
这完美地工作。然而,一些变量(例如,从 80 到 90 的 n)需要很长时间才能运行。
我想要什么:
运行给定的脚本一段特定的时间,如果 PROGRAM 还没有完成跳转到以下变量。
例如:
(n=11; k=23) PROGRAM 11 23 INPUT # Runs 59 seconds -- OK
(n=11; k=24) PROGRAM 11 24 INPUT # Runs 34 seconds -- OK
(n=11; k=25) PROGRAM 11 25 INPUT # Already runs 60 seconds -- Too much. End and jump to (n=11; k=26)
(n=11; k=26) PROGRAM 11 26 INPUT