yコマンドをn回実行した後、xコマンドを実行します。

yコマンドをn回実行した後、xコマンドを実行します。

私が望むことをするbashスクリプトを作成しようとしています。コマンドxは、コマンドyがn回正常に実行された場合にのみ実行されます。 助けてくれてありがとう!質問もなく繰り返しもありません

ベストアンサー1

ループを使用してください。

#!/bin/bash

s=0

for ((i=1;i<=3;i++)); do
    if command y; then
        ((s++))
    fi
done

if ((s==3)); then
    command x
fi

s成功したコマンドの試行を追跡するために、このパラメータを0に設定しました。 (必ずしも必要ではありませんが、私はこれを好みます。)
forループは3回実行されます。成功するcommand yたびにcommand y1を追加しますs
ループが終了してからs3と等しい場合に実行されますcommand x

おすすめ記事