"exec"コマンドから終了コードを取得する

コマンドから終了コードを取得するにはexec

以下はサンプルコードです。他のコマンドで動作しますがexec

exec "somethings"
if [ $? == 0 ];
then
    echo -e "Done\n"
    exit 0
else
    echo -e "error\n"
    exit 1
fi

ベストアンサー1

これは同じ問題が発生したときに役立ちました。

execが正常に使用されると、execプログラムはシェルを置き換えます。 exec プログラムの終了状態は、実行中のシェルの親プロセスに戻されます。

exec次の行がexecの終了状態を説明できる唯一の方法は、exec呼び出しが失敗したことです。通常、要求されたコマンドが存在しない場合、またはファイルが実行可能でない場合にのみ発生します。オプションの解決問題はexecプログラムの起動後に解決されるため、これには含まれません。

シェルがプログラムの終了コードを解釈するようにするには、execを使用してそれを行うことはできません。シェルでプログラムを実行すると、完了すると終了ステータスが表示されます。

ここを参照してください

おすすめ記事