2016-03-24 28 views
0

いくつかのディレクトリから複数のスクリプト(bash & python)を呼び出すbashスクリプトがあります。エラー/例外が発生した場合の中断の問題?

スクリプトのいずれかがエラー/例外をスローすると、エラーが発生します。

#!/bin/bash 

/usr/bin/test.sh /usr/1/sample.sh /usr/2/temp.py 

exit 0 

これを達成するための提案はありますか?

FYI:私はbashスクリプトの初心者です。

+1

すべては、スクリプトが呼び出すスクリプトの出力および終了ステータスによって異なります。いくつかのプログラムはエラーを出力し続けますが、プログラムの中には成功のために終了ステータス0を返すものもあれば、成功しないものもあります。プログラムによっては標準出力に標準出力を出力するものがあります。 –

+1

複数のスクリプトを呼び出すコードでも、実際には1つのスクリプトを呼び出し、残りの2つを引数として渡します。 Googleでbashスクリプトガイドを検索してみてください(ガイドが見つけやすいものがあります)。 –

答えて

1

あなたは、スクリプトの先頭にset -eを置くことができます。

-e errexit  If not interactive, exit immediately if any 
        untested command fails. The exit status of a com‐ 
        mand is considered to be explicitly tested if the 
        command is used to control an if, elif, while, or 
        until; or if the command is the left hand operand 
        of an “&&” or “||” operator. 

この意志のみ作業が失敗した場合に、ゼロ以外の終了コードを使用してのいずれかのコマンドが終了した場合。正常に動作しているプログラムは、成功した場合には常にで終了する必要があります。

私はあなたがこれを行うことを期待するもの全くわからない:

/usr/bin/test.sh /usr/1/sample.sh /usr/2/temp.py 

この2つの引数を一つのコマンド(/usr/bin/test.sh)を実行しますので、あなたはおそらく別の行にそれらを載せていきたいと思います。

関連する問題