[Shell] shell 脚本循环恢复的问题
在一个shell脚本中,我大概执行了如下一个脚本:
for a in {1...100} do for b in {1...100} do for c in {1...100} do sleep 10 done done done
假设上面的sleep 10秒就是代表我的程序需要执行10秒之久。而现在已经执行到50,50,50了,但是我不小心按到了ctrl+c(坏习惯,应该放后台。)
那么怎么恢复呢?再跑一边?也太吓人了。
接下来的执行很明显应该是50,50,51,在以后还要50,1,2之类的,我写了简单的判断,让它continue,后来发现不是那么简单。
应该按如下的方法做:
1 if (a < 50) 2 { 3 continue; 4 } 5 else if(a == 50) 6 { 7 if(b < 50) 8 { 9 continue; 10 } 11 else if ( b == 50) 12 { 13 if(c <= 50) 14 { 15 continue; 16 } 17 18 } 19 20 }
以上是用C语言的方式写的,实际应该用shell来写,但是真是累觉不爱了。