シェルに多くのコマンドを送信し、コマンドが完了するのを待つ方法

シェルに多くのコマンドを送信し、コマンドが完了するのを待つ方法

20個程度のコマンドがありますが、すべてUnixシェルに送信して結果をコピーする必要がありますが、方法がわかりません。

モバイルネットワーク管理に接続されたアプレットなので、どのシェルがあるのか​​わかりません。このアプレットを介して行を介してコマンドを送信し、悲鳴を上げて結果を受け取ることができるため、スクリプトを使用してコマンドを送信することはできません。

コマンド1- サーバーに接続します。

コマンド1が完了するまで待ちます。

コマンド2- 1番サーバーのすべての情報更新完了

待つ。

コマンド3。いくつかのパラメータを取得します。

...そしてさらに多くのコマンドがあります。

試験を終えたそしてcmd1 | cmd2 | cmd3 そして cmd1 & cmd2 & cmd3そしてcmd1;cmd2

問題は、cmd1RNC(ネットワーク要素)に接続されているが、cmd2理解されるまでに約15秒ほどかかるという点だ。ただし、最初のコマンドにのみ適用されます。これを実行する方法についての手がかりはありますか?

ベストアンサー1

通常はcmd1;cmd2;cmd3;cmd4(1行に書きたい場合)、またはcmd1 && cmd2 && cmd3 && cmd4cmd2が失敗したときにcmd3を実行したくない場合です。

あるいは、;1行に1つのコマンドのみを作成することもできます。

cmd1
cmd2
cmd3
cmd4

コマンドをバックグラウンドで並列に実行するには、次を使用することもできます。

cmd1 &
cmd2 &
cmd3 &
cmd4 &
wait # for cmd1-4 to finish

これらの方法の1つをシェルスクリプトに入れることができます。シェルスクリプトに書き込む内容は、実際のシェル自体に書き込むものとほとんど区別できません。

おすすめ記事