[Shell]shellスクリプトのループ・リカバリの問題
3601 ワード
shellスクリプトでは、次のスクリプトを実行します.
上のsleep 10秒が私のプログラムを代表して10秒も実行する必要があると仮定します.今では50,50,50まで実行されていますが、ctrl+c(悪い習慣で、バックグラウンドに置くべきです)を押してしまいました.
では、どうやって回復しますか?もう一方走るの?あまりにも怖いです.
次の実行は明らかに50,50,51であるべきで、後で50,1,2などで、私は簡単な判断を書いて、それをcontinueさせて、後でそんなに簡単ではないことを発見しました.
以下の方法で行うべきです.
以上はC言語で書かれていますが、実際には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で書くべきですが、本当に疲れて愛していません.