forループで "until....do"ループを使用する方法は?
たとえば、以下のforループでは、「forループ」と「コマンド#5、#6、#7」のコマンドが同時に実行されます。
For i in $(cat file.txt), do # file.txt is a file contain folders names within a path
(
command 1
command 2
command 3
command 4
...
)&
done
command5
command6
command7
.....
「forループ」が完了するまで」を使用してから、「コマンド#5、#6、#7を実行」したいと思います。
このコードでUntil .. doを使用すると、どのような問題がありますか?
until
For i in $(cat file.txt), do # file.txt is a file contain folders names within a path
(
command 1
command 2
command 3
command 4
...
)&
done
do
command5
command6
command7
.....
答え1
満たす必要がある実際の条件を提供していません。バラよりここ文法。
この特別なケースでは、次のことができます。
done_cond=0
until $done_cond==1; do
For every variable name saved in a text file, do
echo "variable name"
done
$done_cond=1
done
echo 'done'
この特別な場合、done_condはforループが完了するまで中断されないようにしますが、さまざまなユースケースに対して同様の効果を得る方法があります。
もちろん、単にforループであれば、もともと「until」は必要ありません。
コンマ(、)の代わりにセミコロン(;)を使用して公開された最初のコードブロックが機能しますdo
。