5
私はシェルスクリプト内からpythonスクリプトを呼び出しています。 Pythonスクリプトは、失敗した場合にエラーコードを返します。シェルスクリプト内のPythonによって返される終了コードの処理
これらのエラーコードをシェルスクリプトで処理し、必要に応じて終了するにはどうすればよいですか?
私はシェルスクリプト内からpythonスクリプトを呼び出しています。 Pythonスクリプトは、失敗した場合にエラーコードを返します。シェルスクリプト内のPythonによって返される終了コードの処理
これらのエラーコードをシェルスクリプトで処理し、必要に応じて終了するにはどうすればよいですか?
最後の終了コードのコマンドは、$?
に含まれています。擬似コード以下
用途:
python myPythonScript.py
ret=$?
if [ $ret -ne 0 ]; then
#Handle failure
#exit if required
fi
あなたはthe $?
variableを意味ですか?
$ python -c 'import foobar' > /dev/null
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named foobar
$ echo $?
1
$ python -c 'import this' > /dev/null
$ echo $?
0
これを行わないでください。 'python myPythonScript.py;を使用するだけです。 then ... fi'または 'python myPythonScript.py || ... –
うーん...私のアプローチでは、異なる終了コード値を持つ異なるエラーハンドラを選択することができます。例えばいくつかの簡単なエラーコードを無視したいかもしれません。しかし、あなたのアプローチは依然として彼の要求に技術的に正しいです。 – anishsane
これは私が必要としていたものです。ありがとう、anishane。 – SpikETidE