如何将循环“until .... do”与 for 循环一起使用?
例如,在下面的 for 循环中,“for 循环”和命令“command #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
起作用。