2

我意识到 bash 脚本中的以下循环将发送./a.out到后台,并且运行将在单个./a.out运行完成之前返回系统。

#!/bin/bash
for i in 1,2,3
do
    echo $i
    ./a.out 
done

问题是如何让下一个 bash 循环等到“./a.out”完成?

顺便说一句,我认为这应该是一个常见问题,但没有找到类似的问题,或者我可能需要更多的搜索技巧......

4

2 回答 2

2

您所描述的是默认行为。您可能会对循环只运行一次的事实感到困惑,使用i="1,2,3",因此似乎一次打印所有内容然后立即退出。

试试看for i in 1 2 3,看看你是否得到了你期望的输出。

于 2013-01-26T00:10:15.167 回答
1

您可能会发现“C 风格” for 循环更容易,即: for ((i = 1 ; i < 4 ; i++))

于 2013-01-26T00:18:33.983 回答