1

これは私の状況です:

scriptA.py から順番に Python スクリプトを実行したいと考えています。scriptA.py が完了すると、scriptB.py が実行され、続いて scriptC.py が実行されます。これらのスクリプトを順番に実行したら、rsync コマンドを実行する必要があります。

次のような bash スクリプトを作成する予定です。

#!/bin/sh
python scriptA.py
python scriptB.py
python scriptC.py
rsync blablabla

これは、パフォーマンスと安定性にとって最適なソリューションですか?

4

2 に答える 2

5

前のコマンドが正常に完了した後でのみコマンドを実行するには、論理積を使用できます。

python scriptA.py && python scriptB.py && python scriptC.py && rsync blablabla

ステートメント全体が真になるのは、すべてが真である場合のみであるため、bashは「短絡」し、前のステートメントが正常に完了したときにのみ次のステートメントを開始します。1つが失敗すると、停止して次のコマンドを開始しません。

それはあなたが探している行動ですか?

于 2012-05-16T14:02:15.387 に答える
3

Pythonの経験がある場合は、他のスクリプトから関連する関数をインポートして実行するPythonスクリプトを作成することをお勧めします。そうすれば、pythonsの例外処理を使用できるようになります。また、Python内からrsyncを実行することもできます。

于 2012-05-16T14:03:00.043 に答える