0

順番に実行する3つの異なる実行可能ファイルがあり、そのうちの2つはバイト実行可能ファイルです。自動的に順番に実行したい。最初もユーザー入力が必要です。スクリプトでこれを自動化する方法は?誰かがチュートリアルや例にリダイレクトできますか?

4

3 に答える 3

5

順次実行するには、セミコロンで区切ります。

cmd1 ; cmd2 ; cmd3

前のコマンドが成功した場合にのみ次のコマンドが実行されるように、「&&」で区切ります。

cmd1 && cmd2 && cmd3

ここにチュートリアルがあります。セクション 4.3 を参照してください。

于 2012-08-18T18:19:22.487 に答える
2

簡単なシェルスクリプトを書くことができます。

Test.sh

#!/bin/sh

<Paste your commands>

コードを実行します:

sh Test.sh
于 2012-08-19T05:19:26.590 に答える
1

あなたの要件はかなりあいまいです。「ユーザー入力が必要なものを順番に実行する必要があります」。Bash は、ケースバイケースでこれらの問題に対処するための多くの柔軟性を提供してくれますが、本当に良い答えを得るには、コマンドが何であり、どの入力が必要かを知りたいと思うでしょう。コマンドを順番に実行したいだけですか?セミコロンはあなたのためです

cmd1 ; cmd2; cmd3

コマンドの 1 つが失敗した場合、または最初のコマンドが正常に完了した場合にのみ 2 番目のコマンドを実行する必要がありますか? これらの終了コードが重要な場合は、おそらく二重 && を使用する方がよいでしょう

cmd1 && cmd2 && cmd3

多くの場合、ユーザー入力をプログラムにリダイレクトしたり、引数を使用してコマンド ライン内で指定したりできます。次に例を示します。

{ echo "remotecommand 1" } | telnet localhost 1234

また

ssh -o StrictHostKeyChecking=no 192.168.1.1

それ以外では、expect スクリプトが必要になり始めています。自動化が可能なケースはたくさんありますが、具体的な答えを出すのは難しいです。

于 2014-09-23T13:45:15.250 に答える