2

./a.out私は、bash スクリプトの次のループがバックグラウンドに送信され、単一の実行が完了する前に実行がシステムに戻ることに気付きました./a.out

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

問題は、「./a.out」が完了するまで次の bash ループを待機させる方法です。

ところで、これはよくある問題だと思いましたが、同様の質問が見つからなかったか、もっと検索スキルが必要かもしれません...

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 に答える