2016-04-18 8 views
4

私は他の誰かによって書かれた次のbashライン、によって混乱している:それはどういう意味`return -1||は何をしますか?出口-1は意味するか?

return -1 || exit -1 

?最初の部分(この場合はreturn -1)が失敗した(すなわちゼロ以外のコードを返す)場合、2番目の部分(exit -1)が実行された場合、||構成手段を理解します。また、このステートメントは関数の一部ではなく、スクリプト本体にあります。

私にこれを説明する人に感謝します。

答えて

4

ここでsource -edとexitがシェルを終了すると、returnは終了するトリックです。

したがって、基本的に上記の条件は、スクリプトの実行ループが終了するかどうか(source -ed)、実行されます。

また、負の戻り値はbashではサポートされていません。どちらの場合も、-1ではなく255の終了ステータスを取得します。

+0

また、負のステータスコードは一般的には正しくないかサポートされていないことにも注意してください。 – tripleee

+0

@ tripleee missed that..edited..thanks .. – heemayl

+0

終了ステータス '-1'は単純に定義されていません。実装はそれを8ビット値として扱う必要はなく、上位ビットをクリアする必要もありません。 – chepner

関連する問題